Class: Loga::Formatters::GELFFormatter
- Inherits:
-
Logger::Formatter
- Object
- Logger::Formatter
- Loga::Formatters::GELFFormatter
- Includes:
- TaggedLogging::Formatter
- Defined in:
- lib/loga/formatters/gelf_formatter.rb
Constant Summary collapse
- GELF_VERSION =
'1.1'.freeze
- SYSLOG_LEVEL_MAPPING =
{ 'DEBUG' => 7, 'INFO' => 6, 'WARN' => 4, 'ERROR' => 3, 'FATAL' => 2, 'UNKNOWN' => 1, }.freeze
- DEFAULT_TYPE =
'default'.freeze
Instance Method Summary collapse
- #call(severity, time, _progname, message) ⇒ Object
-
#initialize(opts) ⇒ GELFFormatter
constructor
A new instance of GELFFormatter.
Methods included from TaggedLogging::Formatter
#clear_tags!, #current_tags, #pop_tags, #push_tags, #tagged
Constructor Details
#initialize(opts) ⇒ GELFFormatter
Returns a new instance of GELFFormatter.
20 21 22 23 24 |
# File 'lib/loga/formatters/gelf_formatter.rb', line 20 def initialize(opts) @service_name = opts.fetch(:service_name) @service_version = opts.fetch(:service_version) @host = opts.fetch(:host) end |
Instance Method Details
#call(severity, time, _progname, message) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/loga/formatters/gelf_formatter.rb', line 26 def call(severity, time, _progname, ) event = build_event(time, ) payload = format_additional_fields(event.data) payload[:short_message] = event. payload[:timestamp] = (event.) payload[:host] = @host payload[:level] = compute_level(severity) payload[:version] = GELF_VERSION "#{payload.to_json}\n" end |