1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[core] prototype logger

This commit is contained in:
geemus 2011-09-01 17:48:43 -05:00
parent 93a52e2c02
commit 03ce1c3cec
2 changed files with 31 additions and 0 deletions

View file

@ -25,6 +25,7 @@ require 'fog/core/deprecation'
require 'fog/core/errors'
require 'fog/core/hmac'
require 'fog/core/json'
require 'fog/core/logger'
require 'fog/core/model'
require 'fog/core/mock'
require 'fog/core/parser' # FIXME: would be better to only load when nokogiri is required

30
lib/fog/core/logger.rb Normal file
View file

@ -0,0 +1,30 @@
module Fog
class Logger
@channels = {
:warning => ::STDOUT
}
def self.debug(message)
self.write(:debug, "[light_black][DEBUG] #{message}[/]")
end
def self.warning(message)
self.write(:warning, "[yellow][WARNING] #{message}[/]")
end
def self.write(key, value)
if channel = @channels[key]
value.gsub(Formatador::INDENT_REGEX, '')
message = if channel.tty?
value.gsub(Formatador::PARSE_REGEX) { "\e[#{Formatador::STYLES[$1.to_sym]}m" }.gsub(Formatador::INDENT_REGEX, '')
else
value.gsub(Formatador::PARSE_REGEX, '').gsub(Formatador::INDENT_REGEX, '')
end
channel.write(message)
end
nil
end
end
end