Add JSON formatter

This commit is contained in:
jules 2015-10-21 19:42:49 +02:00
parent de4d5c2c0f
commit 2e0f8c2aa5

View file

@ -0,0 +1,33 @@
module GrapeLogging
module Formatters
class Json
def call(severity, datetime, _, data)
JSON.parse({
date: datetime,
severity: severity,
data: format(data)
})
end
private
def format(data)
if data.is_a?(String) || data.is_a?(Hash)
data
elsif data.is_a?(Exception)
format_exception(data)
else
data.inspect
end
end
def format_exception(exception)
{
exception: {
message: exception.message
}
}
end
end
end
end