class GrapeLogging::Formatters::Logstash

Public Instance Methods

call(severity, datetime, _, data) click to toggle source
# File lib/grape_logging/formatters/logstash.rb, line 4
def call(severity, datetime, _, data)
  {
    :'@timestamp' => datetime.iso8601,
    :'@version' => '1',
    :severity => severity
  }.merge!(format(data)).to_json
end

Private Instance Methods

format(data) click to toggle source
# File lib/grape_logging/formatters/logstash.rb, line 14
def format(data)
  if data.is_a?(Hash)
    data
  elsif data.is_a?(String)
    { message: data }
  elsif data.is_a?(Exception)
    format_exception(data)
  else
    { message: data.inspect }
  end
end
format_exception(exception) click to toggle source
# File lib/grape_logging/formatters/logstash.rb, line 26
def format_exception(exception)
  {
    exception: {
      message: exception.message
    }
  }
end