Class: Lumberjack::LogEntry
- Inherits:
-
Object
- Object
- Lumberjack::LogEntry
- Defined in:
- lib/lumberjack/log_entry.rb
Overview
An entry in a log is a data structure that captures the log message as well as information about the system that logged the message.
Constant Summary collapse
- TIME_FORMAT =
"%Y-%m-%dT%H:%M:%S"- UNIT_OF_WORK_ID =
Deprecated.
Will be removed in version 2.0.
"unit_of_work_id"
Instance Attribute Summary collapse
-
#message ⇒ Object
Returns the value of attribute message.
-
#pid ⇒ Object
Returns the value of attribute pid.
-
#progname ⇒ Object
Returns the value of attribute progname.
-
#severity ⇒ Object
Returns the value of attribute severity.
-
#tags ⇒ Object
Returns the value of attribute tags.
-
#time ⇒ Object
Returns the value of attribute time.
Instance Method Summary collapse
-
#empty? ⇒ Boolean
Return true if the log entry has no message and no tags.
-
#initialize(time, severity, message, progname, pid, tags) ⇒ LogEntry
constructor
Create a new log entry.
- #inspect ⇒ Object
-
#nested_tags ⇒ Hash
Helper method to expand the tags into a nested structure.
- #severity_label ⇒ Object
-
#tag(name) ⇒ Object?
Return the tag with the specified name.
- #to_s ⇒ Object
-
#unit_of_work_id ⇒ Object
deprecated
Deprecated.
-
backward compatibility with 1.0 API. Will be removed in version 2.0.
-
-
#unit_of_work_id=(value) ⇒ Object
deprecated
Deprecated.
-
backward compatibility with 1.0 API. Will be removed in version 2.0.
-
Constructor Details
#initialize(time, severity, message, progname, pid, tags) ⇒ LogEntry
Create a new log entry.
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/lumberjack/log_entry.rb', line 22 def initialize(time, severity, , progname, pid, ) @time = time @severity = (severity.is_a?(Integer) ? severity : Severity.label_to_level(severity)) @message = @progname = progname @pid = pid # backward compatibility with 1.0 API where the last argument was the unit of work id @tags = if .is_a?(Hash) () elsif !.nil? {UNIT_OF_WORK_ID => } end end |
Instance Attribute Details
#message ⇒ Object
Returns the value of attribute message.
7 8 9 |
# File 'lib/lumberjack/log_entry.rb', line 7 def @message end |
#pid ⇒ Object
Returns the value of attribute pid.
7 8 9 |
# File 'lib/lumberjack/log_entry.rb', line 7 def pid @pid end |
#progname ⇒ Object
Returns the value of attribute progname.
7 8 9 |
# File 'lib/lumberjack/log_entry.rb', line 7 def progname @progname end |
#severity ⇒ Object
Returns the value of attribute severity.
7 8 9 |
# File 'lib/lumberjack/log_entry.rb', line 7 def severity @severity end |
#tags ⇒ Object
Returns the value of attribute tags.
7 8 9 |
# File 'lib/lumberjack/log_entry.rb', line 7 def @tags end |
#time ⇒ Object
Returns the value of attribute time.
7 8 9 |
# File 'lib/lumberjack/log_entry.rb', line 7 def time @time end |
Instance Method Details
#empty? ⇒ Boolean
Return true if the log entry has no message and no tags.
91 92 93 |
# File 'lib/lumberjack/log_entry.rb', line 91 def empty? (.nil? || == "") && (.nil? || .empty?) end |
#inspect ⇒ Object
44 45 46 |
# File 'lib/lumberjack/log_entry.rb', line 44 def inspect to_s end |
#nested_tags ⇒ Hash
Helper method to expand the tags into a nested structure. Tags with dots in the name will be expanded into nested hashes.
84 85 86 |
# File 'lib/lumberjack/log_entry.rb', line 84 def Utils.() end |
#severity_label ⇒ Object
36 37 38 |
# File 'lib/lumberjack/log_entry.rb', line 36 def severity_label Severity.level_to_label(severity) end |
#tag(name) ⇒ Object?
Return the tag with the specified name.
70 71 72 73 74 |
# File 'lib/lumberjack/log_entry.rb', line 70 def tag(name) return nil if .nil? TagContext.new()[name] end |
#to_s ⇒ Object
40 41 42 |
# File 'lib/lumberjack/log_entry.rb', line 40 def to_s "[#{time.strftime(TIME_FORMAT)}.#{(time.usec / 1000.0).round.to_s.rjust(3, "0")} #{severity_label} #{progname}(#{pid})#{}] #{}" end |
#unit_of_work_id ⇒ Object
-
backward compatibility with 1.0 API. Will be removed in version 2.0.
49 50 51 52 53 |
# File 'lib/lumberjack/log_entry.rb', line 49 def unit_of_work_id Lumberjack::Utils.deprecated("Lumberjack::LogEntry#unit_of_work_id", "Lumberjack::LogEntry#unit_of_work_id will be removed in version 2.0") do [UNIT_OF_WORK_ID] if end end |
#unit_of_work_id=(value) ⇒ Object
-
backward compatibility with 1.0 API. Will be removed in version 2.0.
56 57 58 59 60 61 62 63 64 |
# File 'lib/lumberjack/log_entry.rb', line 56 def unit_of_work_id=(value) Lumberjack::Utils.deprecated("Lumberjack::LogEntry#unit_of_work_id=", "Lumberjack::LogEntry#unit_of_work_id= will be removed in version 2.0") do if [UNIT_OF_WORK_ID] = value else @tags = {UNIT_OF_WORK_ID => value} end end end |