Class: Log4r::Logstash::JsonFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/log4r/logstash/formatter/json_formatter.rb

Class Method Summary collapse

Class Method Details

.eval_map_proc_values(map) ⇒ Object



20
21
22
23
24
25
# File 'lib/log4r/logstash/formatter/json_formatter.rb', line 20

def self.eval_map_proc_values(map)
  map.each do |key, value|
    map[key] = value.call if value.class == Proc
  end
  map
end

.format(logevent, index, data_field_name = "data", level_field_name = "level", additional_fields = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/log4r/logstash/formatter/json_formatter.rb', line 7

def self.format(logevent, index,
               data_field_name = "data", level_field_name = "level",
               additional_fields = {})
  data = {}
  data["type"] = "#{logevent.class}"
  data["index"] = "#{index}"
  data["timestamp"] = Time.now.getutc.iso8601
  data[level_field_name] = LNAMES[logevent.level]
  data[data_field_name] = logevent.data.force_encoding("UTF-8")
  data.merge! eval_map_proc_values(additional_fields)
  data.to_json
end