class ExtendedLogger::Factory

Attributes

env[R]

Public Class Methods

build(env=nil) click to toggle source
# File lib/extended_logger/factory.rb, line 9
def self.build env=nil
  env ||= ENV
  new env
end
call(*arguments) click to toggle source
# File lib/extended_logger/factory.rb, line 14
def self.call *arguments
  instance = build *arguments
  instance.()
end
new(env) click to toggle source
# File lib/extended_logger/factory.rb, line 5
def initialize env
  @env = env
end

Public Instance Methods

call() click to toggle source
# File lib/extended_logger/factory.rb, line 19
def call
  logger = ExtendedLogger.new device

  formatter = Formatter.new
  formatter.palette = Formatter.default_palette if colors? logger.io
  logger.formatter = formatter

  level = self.level
  logger.level = level if level

  logger
end
colors?(io) click to toggle source
# File lib/extended_logger/factory.rb, line 32
def colors? io
  if io.tty?
    ENV['LOG_COLOR'] != 'off'
  else
    ENV['LOG_COLOR'] == 'on'
  end
end
device() click to toggle source
# File lib/extended_logger/factory.rb, line 40
def device
  ENV['LOG_DEVICE'] || $stderr
end
level() click to toggle source
# File lib/extended_logger/factory.rb, line 44
def level
  if ENV.key? 'LOG_LEVEL'
    level , _ = ExtendedLogger.levels.rassoc ENV['LOG_LEVEL'].upcase
    level
  end
end