123456789_123456789_123456789_123456789_123456789_

Class: Logger::Formatter

Relationships & Source Files
Inherits: Object
Defined in: lib/logger/formatter.rb

Overview

Default formatter for log messages.

Constant Summary

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.newFormatter

[ GitHub ]

  
# File 'lib/logger/formatter.rb', line 10

def initialize
  @datetime_format = nil
end

Instance Attribute Details

#datetime_format (rw)

[ GitHub ]

  
# File 'lib/logger/formatter.rb', line 8

attr_accessor :datetime_format

Instance Method Details

#call(severity, time, progname, msg)

[ GitHub ]

  
# File 'lib/logger/formatter.rb', line 14

def call(severity, time, progname, msg)
  Format % [severity[0..0], format_datetime(time), Process.pid, severity, progname,
    msg2str(msg)]
end

#format_datetime(time) (private)

[ GitHub ]

  
# File 'lib/logger/formatter.rb', line 21

def format_datetime(time)
  time.strftime(@datetime_format || "%Y-%m-%dT%H:%M:%S.%6N ")
end

#msg2str(msg) (private)

[ GitHub ]

  
# File 'lib/logger/formatter.rb', line 25

def msg2str(msg)
  case msg
  when ::String
    msg
  when ::Exception
    "#{ msg.message } (#{ msg.class })\n#{ msg.backtrace.join("\n") if msg.backtrace }"
  else
    msg.inspect
  end
end