Class: Dizby::Logger

Inherits:
Logger
  • Object
show all
Defined in:
lib/dizby/utility/log.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(output: $stderr, level: Logger::ERROR, &transformer) ⇒ Logger

Returns a new instance of Logger.



12
13
14
15
16
17
# File 'lib/dizby/utility/log.rb', line 12

def initialize(output: $stderr, level: Logger::ERROR, &transformer)
  super(output)

  self.formatter = self.class.transform_formatter(&transformer)
  self.level = level
end

Class Method Details

.transform_formatter(&transformer)



24
25
26
27
28
29
30
# File 'lib/dizby/utility/log.rb', line 24

def self.transform_formatter(&transformer)
  default_formatter = Logger::Formatter.new
  proc do |severity, datetime, progname, msg|
    msg = transformer.call(msg) if transformer
    default_formatter.call(severity, datetime, progname, msg)
  end
end

Instance Method Details

#backtrace(exception)



19
20
21
22
# File 'lib/dizby/utility/log.rb', line 19

def backtrace(exception)
  error(exception.inspect)
  exception.backtrace.each { |trace| error(trace) }
end