Sha256: 05e4fdb4153070957a562aa8c3c6bf0b76110a968eaae1f975b94221aa5b191a

Contents?: true

Size: 599 Bytes

Versions: 3

Compression:

Stored size: 599 Bytes

Contents

# frozen_string_literal: true

module Lograge
  module Formatters
    class Graylog2
      include Lograge::Formatters::Helpers::MethodAndPath

      def call(data)
        # Add underscore to every key to follow GELF additional field syntax.
        data.transform_keys { |k| underscore_prefix(k) }.merge(
          short_message: short_message(data)
        )
      end

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

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lograge-0.14.0 lib/lograge/formatters/graylog2.rb
lograge-0.13.0 lib/lograge/formatters/graylog2.rb
lograge-0.12.0 lib/lograge/formatters/graylog2.rb