Module: Loggery::Metadata::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
Class Method Summary collapse
- .default_metadata ⇒ Object
- .event_metadata(event) ⇒ Object
- .fail_if_magic_fields_are_used(event) ⇒ Object
- .loglevel_includes_event?(event) ⇒ Boolean
- .set_logstash_event_metadata(event, metadata) ⇒ Object
Class Method Details
.default_metadata ⇒ Object
25 26 27 |
# File 'lib/loggery/metadata/logstash_event_util.rb', line 25 def self. { pid: Process.pid } end |
.event_metadata(event) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/loggery/metadata/logstash_event_util.rb', line 12 def self.(event) return unless loglevel_includes_event?(event) = Loggery::Metadata::Store.store || {} = .merge() (event, ) end |
.fail_if_magic_fields_are_used(event) ⇒ Object
34 35 36 37 38 39 40 |
# 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) ⇒ Boolean
29 30 31 32 |
# 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) ⇒ Object
20 21 22 23 |
# File 'lib/loggery/metadata/logstash_event_util.rb', line 20 def self.(event, ) .each { |k, v| event[k] = v } fail_if_magic_fields_are_used(event) end |