Class: Woods::Observability::StructuredLogger
- Inherits:
-
Object
- Object
- Woods::Observability::StructuredLogger
- Defined in:
- lib/woods/observability/structured_logger.rb
Overview
Structured JSON logger that writes one JSON object per line.
Each log entry includes a timestamp, level, event name, and any additional data passed as keyword arguments.
Instance Method Summary collapse
-
#debug(event, **data) ⇒ Object
Log at debug level.
-
#error(event, **data) ⇒ Object
Log at error level.
-
#info(event, **data) ⇒ Object
Log at info level.
-
#initialize(output: $stderr) ⇒ StructuredLogger
constructor
A new instance of StructuredLogger.
-
#warn(event, **data) ⇒ Object
Log at warn level.
Constructor Details
#initialize(output: $stderr) ⇒ StructuredLogger
Returns a new instance of StructuredLogger.
21 22 23 |
# File 'lib/woods/observability/structured_logger.rb', line 21 def initialize(output: $stderr) @output = output end |
Instance Method Details
#debug(event, **data) ⇒ Object
Log at debug level.
35 36 37 |
# File 'lib/woods/observability/structured_logger.rb', line 35 %w[info warn error debug].each do |level| define_method(level) { |event, **data| write_entry(level, event, data) } end |
#error(event, **data) ⇒ Object
Log at error level.
35 36 37 |
# File 'lib/woods/observability/structured_logger.rb', line 35 %w[info warn error debug].each do |level| define_method(level) { |event, **data| write_entry(level, event, data) } end |
#info(event, **data) ⇒ Object
Log at info level.
35 36 37 |
# File 'lib/woods/observability/structured_logger.rb', line 35 %w[info warn error debug].each do |level| define_method(level) { |event, **data| write_entry(level, event, data) } end |
#warn(event, **data) ⇒ Object
Log at warn level.
35 36 37 |
# File 'lib/woods/observability/structured_logger.rb', line 35 %w[info warn error debug].each do |level| define_method(level) { |event, **data| write_entry(level, event, data) } end |