class Arsenicum::Configuration::LoggerConfiguration

Attributes

log_format[R]
log_level[R]
log_path[R]

Public Class Methods

new() click to toggle source
# File lib/arsenicum/configuration.rb, line 136
def initialize
  @log_path   = STDOUT
  @log_level  = :info
end

Public Instance Methods

build() click to toggle source
# File lib/arsenicum/configuration.rb, line 153
def build
  logger = ::Logger.new(output_stream.tap{|s|s.sync = true})
  logger.level = ::Logger.const_get log_level.to_s.upcase.to_sym
  logger.formatter = log_format if log_format
  logger
end
format(&format) click to toggle source
# File lib/arsenicum/configuration.rb, line 149
def format &format
  @log_format = format
end
level(level) click to toggle source
# File lib/arsenicum/configuration.rb, line 145
def level level
  @log_level = level
end
path(path) click to toggle source
# File lib/arsenicum/configuration.rb, line 141
def path path
  @log_path = path
end

Private Instance Methods

output_stream() click to toggle source
# File lib/arsenicum/configuration.rb, line 161
def output_stream
  return log_path if log_path.respond_to? :write
  return File.open(log_path,  'w:UTF-8') if log_path.is_a? String
  STDOUT
end