Module: Loggery::Metadata::LogstashEventUtil

Extended by:
LogstashEventUtil
Included in:
LogstashEventUtil
Defined in:
lib/loggery/metadata/logstash_event_util.rb

Constant Summary collapse

MAGIC_FIELDS =
%i{type uid _id _type _source _all _parent _fieldnames _routing 
_index _size _timestamp _ttl }.freeze

Instance Method Summary collapse

Instance Method Details

#default_metadataObject



26
27
28
# File 'lib/loggery/metadata/logstash_event_util.rb', line 26

def 
  { pid: Process.pid }
end

#event_metadata(event) ⇒ Object



14
15
16
17
18
19
# File 'lib/loggery/metadata/logstash_event_util.rb', line 14

def (event)
  return unless loglevel_includes_event?(event)
   = Loggery::Metadata::Store.store || {}
   = .merge()
  (event, )
end

#fail_if_magic_fields_are_used(event) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/loggery/metadata/logstash_event_util.rb', line 35

def 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) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
33
# File 'lib/loggery/metadata/logstash_event_util.rb', line 30

def 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) ⇒ Object



21
22
23
24
# File 'lib/loggery/metadata/logstash_event_util.rb', line 21

def (event, )
  .each { |k, v| event[k] = v }
  fail_if_magic_fields_are_used(event)
end