Class: Nanite::Log::Formatter

Inherits:
Logger::Formatter
  • Object
show all
Defined in:
lib/nanite/log/formatter.rb

Constant Summary collapse

@@show_time =
true

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.show_time=(show = false) ⇒ Object



9
10
11
# File 'lib/nanite/log/formatter.rb', line 9

def self.show_time=(show=false)
  @@show_time = show
end

Instance Method Details

#call(severity, time, progname, msg) ⇒ Object

Prints a log message as ‘[time] severity: message’ if Nanite::Log::Formatter.show_time == true. Otherwise, doesn’t print the time.



15
16
17
18
19
20
21
# File 'lib/nanite/log/formatter.rb', line 15

def call(severity, time, progname, msg)
  if @@show_time
    sprintf("[%s] %s: %s\n", time.rfc2822(), severity, msg2str(msg))
  else
    sprintf("%s: %s\n", severity, msg2str(msg))
  end
end

#msg2str(msg) ⇒ Object

Converts some argument to a Logger.severity() call to a string. Regular strings pass through like normal, Exceptions get formatted as “message (class)nbacktrace”, and other random stuff gets put through “object.inspect”



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/nanite/log/formatter.rb', line 26

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