Class: Madvertise::Logging::DocumentLogger
- Inherits:
-
Logger
- Object
- Logger
- Madvertise::Logging::DocumentLogger
- Defined in:
- lib/madvertise/logging/document_logger.rb
Overview
DocumentLogger is a Logger compliant class that keeps a structured document per log message in memory.
Instance Attribute Summary collapse
-
#attrs ⇒ Object
Returns the value of attribute attrs.
-
#messages ⇒ Object
Returns the value of attribute messages.
Instance Method Summary collapse
- #add(severity, message = nil, progname = nil, &block) ⇒ Object
-
#initialize ⇒ DocumentLogger
constructor
A new instance of DocumentLogger.
Constructor Details
#initialize ⇒ DocumentLogger
Returns a new instance of DocumentLogger.
15 16 17 18 19 |
# File 'lib/madvertise/logging/document_logger.rb', line 15 def initialize super(nil) @messages = [] @attrs = {} end |
Instance Attribute Details
#attrs ⇒ Object
Returns the value of attribute attrs.
12 13 14 |
# File 'lib/madvertise/logging/document_logger.rb', line 12 def attrs @attrs end |
#messages ⇒ Object
Returns the value of attribute messages.
13 14 15 |
# File 'lib/madvertise/logging/document_logger.rb', line 13 def @messages end |
Instance Method Details
#add(severity, message = nil, progname = nil, &block) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/madvertise/logging/document_logger.rb', line 21 def add(severity, = nil, progname = nil, &block) severity ||= UNKNOWN if severity < @level return true end progname ||= @progname if .nil? if block_given? = yield else = progname progname = @progname end end @messages << @attrs.merge({ severity: severity, time: Time.now.to_f, progname: progname, message: , }) true end |