class Lograge::Formatters::Graylog2

Public Instance Methods

call(data) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/lograge/formatters/graylog2.rb, line 23
def underscore_prefix(key)
  "_#{key}".to_sym
end