class Logger::Logging::Factory
Attributes
env[R]
Public Class Methods
call(env = nil)
click to toggle source
# File lib/logger/logging/factory.rb, line 9 def self.call env = nil env ||= ENV instance = new env instance.() end
new(env)
click to toggle source
# File lib/logger/logging/factory.rb, line 5 def initialize env @env = env end
Public Instance Methods
call()
click to toggle source
# File lib/logger/logging/factory.rb, line 15 def call logger = logger_class.new device logger.level = level logger end
coloring?()
click to toggle source
# File lib/logger/logging/factory.rb, line 50 def coloring? return @coloring unless @coloring.nil? @coloring = begin use_colors = env.fetch "LOG_COLOR" do if device.tty? then "on" else "off" end end use_colors == "on" end end
device()
click to toggle source
# File lib/logger/logging/factory.rb, line 21 def device @device ||= begin path = env.fetch "LOG_DEVICE" do "/dev/stdout" end if path.is_a? String then File.open path, "a" else path end end end
level()
click to toggle source
# File lib/logger/logging/factory.rb, line 29 def level @level ||= begin level_name = env.fetch "LOG_LEVEL" do "WARN" end level_name = level_name.upcase if Logger.const_defined? level_name Logger.const_get level_name else { "DATA" => -2, "TRACE" => -1, }.fetch level_name end end end
logger_class()
click to toggle source
# File lib/logger/logging/factory.rb, line 46 def logger_class if coloring? then ColoredLogger else ExtendedLogger end end