Class: JobWorkflow::Logger::JsonFormatter
- Inherits:
-
Logger::Formatter
- Object
- Logger::Formatter
- JobWorkflow::Logger::JsonFormatter
- Includes:
- ActiveSupport::TaggedLogging::Formatter
- Defined in:
- lib/job_workflow/logger.rb
Overview
JSON formatter for structured logging output.
Instance Method Summary collapse
-
#call(severity, time, progname, msg) ⇒ Object
: (String, Time, String, String | Hash[untyped, untyped]) -> String.
-
#initialize(log_tags: []) ⇒ JsonFormatter
constructor
: (?log_tags: Array) -> void.
Constructor Details
#initialize(log_tags: []) ⇒ JsonFormatter
: (?log_tags: Array) -> void
40 41 42 43 |
# File 'lib/job_workflow/logger.rb', line 40 def initialize(log_tags: []) @log_tags = super() end |
Instance Method Details
#call(severity, time, progname, msg) ⇒ Object
: (String, Time, String, String | Hash[untyped, untyped]) -> String
46 47 48 49 50 51 |
# File 'lib/job_workflow/logger.rb', line 46 def call(severity, time, progname, msg) base_hash = build_base_hash(severity, time, progname) = msg_hash = build_msg_hash(msg) "#{JSON.generate({ **base_hash, **, **msg_hash })}\n" end |