Class: Lograge::Formatters::Graylog2

Inherits:
Object
  • Object
show all
Includes:
Helpers::MethodAndPath
Defined in:
lib/lograge/formatters/graylog2.rb

Instance Method Summary collapse

Methods included from Helpers::MethodAndPath

#method_and_path_string

Instance Method Details

#call(data) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/lograge/formatters/graylog2.rb', line 6

def call(data)
  # Cloning because we don't want to mess with the original when mutating keys.
  data_clone = data.clone

  base = {
    short_message: short_message(data_clone)
  }

  # Add underscore to every key to follow GELF additional field syntax.
  data_clone.keys.each do |key|
    data_clone[underscore_prefix(key)] = data_clone[key]
    data_clone.delete(key)
  end

  data_clone.merge(base)
end

#short_message(data) ⇒ Object



27
28
29
# File 'lib/lograge/formatters/graylog2.rb', line 27

def short_message(data)
  "[#{data[:status]}]#{method_and_path_string(data)}(#{data[:controller]}##{data[:action]})"
end

#underscore_prefix(key) ⇒ Object



23
24
25
# File 'lib/lograge/formatters/graylog2.rb', line 23

def underscore_prefix(key)
  "_#{key}".to_sym
end