Class: Semlogr::Formatters::JsonFormatter
- Inherits:
-
Object
- Object
- Semlogr::Formatters::JsonFormatter
- Defined in:
- lib/semlogr/formatters/json_formatter.rb
Instance Method Summary collapse
- #format(log_event) ⇒ Object
-
#initialize(opts = {}) ⇒ JsonFormatter
constructor
A new instance of JsonFormatter.
Constructor Details
#initialize(opts = {}) ⇒ JsonFormatter
Returns a new instance of JsonFormatter.
8 9 10 11 12 13 14 15 16 |
# File 'lib/semlogr/formatters/json_formatter.rb', line 8 def initialize(opts = {}) default_opts = { mode: :custom, time_format: :ruby, use_to_json: true } @opts = default_opts.merge(opts) end |
Instance Method Details
#format(log_event) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/semlogr/formatters/json_formatter.rb', line 18 def format(log_event) event = { timestamp: log_event..iso8601(3), severity: log_event.severity.to_s, message: log_event.to_s } add_error(event, log_event.error) add_properties(event, log_event.properties) event = yield(event) if block_given? event_json = Oj.dump(event, @opts) "#{event_json}\n" end |