Sha256: 82d3f650dcfc06fa0b9d5b617bf1a92cbdd6cff87a52430709a054cb211b7a74
Contents?: true
Size: 855 Bytes
Versions: 2
Compression:
Stored size: 855 Bytes
Contents
require 'json' module Semlogr module Formatters class JsonFormatter def format(log_event) event = { timestamp: log_event.timestamp.iso8601(3), severity: log_event.severity, message: log_event.to_s } add_error(event, log_event.error) add_properties(event, log_event.properties) yield(event) if block_given? "#{event.to_json}\n" end private def add_error(event, error) return unless error backtrace = error.backtrace || [] event[:error] = { type: error.class, message: error.message, backtrace: backtrace.join("\n") } end def add_properties(event, properties) return unless properties.any? event[:properties] = properties end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
semlogr-0.1.1 | lib/semlogr/formatters/json_formatter.rb |
semlogr-0.1.0 | lib/semlogr/formatters/json_formatter.rb |