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

45 lines
1.1 KiB
Ruby

module Fog
class Logger
@channels = {
:deprecation => ::STDOUT,
:warning => ::STDOUT
}
@channels[:debug] = ::STDOUT if ENV['DEBUG']
def self.[](channel)
@channels[channel]
end
def self.[]=(channel, value)
@channels[channel] = value
end
def self.debug(message)
self.write(:debug, "[light_black][DEBUG] #{message}[/]\n")
end
def self.deprecation(message)
self.write(:deprecation, "[yellow][DEPRECATION] #{message}[/]\n")
end
def self.warning(message)
self.write(:warning, "[yellow][WARNING] #{message}[/]\n")
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