module Loggery::Metadata::LogstashEventUtil

Constants

MAGIC_FIELDS

Public Class Methods

default_metadata() click to toggle source
# File lib/loggery/metadata/logstash_event_util.rb, line 25
def self.default_metadata
  { pid: Process.pid }
end
event_metadata(event) click to toggle source
# File lib/loggery/metadata/logstash_event_util.rb, line 12
def self.event_metadata(event)
  return unless loglevel_includes_event?(event)

  stored_metadata = Loggery::Metadata::Store.store || {}
  metadata = default_metadata.merge(stored_metadata)
  set_logstash_event_metadata(event, metadata)
end
fail_if_magic_fields_are_used(event) click to toggle source
# File lib/loggery/metadata/logstash_event_util.rb, line 34
def self.fail_if_magic_fields_are_used(event)
  MAGIC_FIELDS.each do |magic_field|
    if event[magic_field.to_s].present? || event[magic_field.to_sym].present?
      raise "'#{magic_field}' is a reserved field name of logstash. It should not be set in a custom event"
    end
  end
end
loglevel_includes_event?(event) click to toggle source
# File lib/loggery/metadata/logstash_event_util.rb, line 29
def self.loglevel_includes_event?(event)
  severity = event["severity"].downcase
  Rails.logger.respond_to?(severity) && Rails.logger.public_send("#{severity}?")
end
set_logstash_event_metadata(event, metadata) click to toggle source
# File lib/loggery/metadata/logstash_event_util.rb, line 20
def self.set_logstash_event_metadata(event, metadata)
  metadata.each { |k, v| event[k] = v }
  fail_if_magic_fields_are_used(event)
end