Class: Treequel::LogFormatter
- Inherits:
-
Logger::Formatter
- Object
- Logger::Formatter
- Treequel::LogFormatter
- Defined in:
- lib/treequel/utils.rb
Overview
A alternate formatter for Logger instances.
Constant Summary collapse
- DEFAULT_FORMAT =
The format to output unless debugging is turned on
"[%1$s.%2$06d %3$d/%4$s] %5$5s -- %7$s\n"- DEFAULT_DEBUG_FORMAT =
The format to output if debugging is turned on
"[%1$s.%2$06d %3$d/%4$s] %5$5s {%6$s} -- %7$s\n"
Instance Attribute Summary collapse
-
#debug_format ⇒ Object
The logging format string that’s used when outputting in debug mode.
-
#format ⇒ Object
The logging format string.
-
#logger ⇒ Object
The Logger object associated with the formatter.
Instance Method Summary collapse
-
#call(severity, time, progname, msg) ⇒ Object
Log using either the DEBUG_FORMAT if the associated logger is at ::DEBUG level or using FORMAT if it’s anything less verbose.
-
#initialize(logger, format = DEFAULT_FORMAT, debug = DEFAULT_DEBUG_FORMAT) ⇒ LogFormatter
constructor
Initialize the formatter with a reference to the logger so it can check for log level.
Constructor Details
#initialize(logger, format = DEFAULT_FORMAT, debug = DEFAULT_DEBUG_FORMAT) ⇒ LogFormatter
Initialize the formatter with a reference to the logger so it can check for log level.
27 28 29 30 31 32 33 |
# File 'lib/treequel/utils.rb', line 27 def initialize( logger, format=DEFAULT_FORMAT, debug=DEFAULT_DEBUG_FORMAT ) # :notnew: @logger = logger @format = format @debug_format = debug super() end |
Instance Attribute Details
#debug_format ⇒ Object
The logging format string that’s used when outputting in debug mode
46 47 48 |
# File 'lib/treequel/utils.rb', line 46 def debug_format @debug_format end |
#format ⇒ Object
The logging format string
43 44 45 |
# File 'lib/treequel/utils.rb', line 43 def format @format end |
#logger ⇒ Object
The Logger object associated with the formatter
40 41 42 |
# File 'lib/treequel/utils.rb', line 40 def logger @logger end |
Instance Method Details
#call(severity, time, progname, msg) ⇒ Object
Log using either the DEBUG_FORMAT if the associated logger is at ::DEBUG level or using FORMAT if it’s anything less verbose.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/treequel/utils.rb', line 51 def call( severity, time, progname, msg ) args = [ time.strftime( '%Y-%m-%d %H:%M:%S' ), # %1$s time.usec, # %2$d Process.pid, # %3$d Thread.current == Thread.main ? 'main' : Thread.object_id, # %4$s severity, # %5$s progname, # %6$s msg # %7$s ] if @logger.level == Logger::DEBUG return self.debug_format % args else return self.format % args end end |