15 lines
376 B
Ruby
15 lines
376 B
Ruby
class JSONLogFormatter < ::Logger::Formatter
|
|
def call(severity, time, _progname, msg)
|
|
begin
|
|
obj = JSON.parse msg
|
|
rescue StandardError
|
|
obj = msg
|
|
end
|
|
if obj.is_a? Hash
|
|
JSON.dump(obj.merge({ level: severity, time: time })) + "\n"
|
|
else
|
|
JSON.dump(level: severity, time: time, message: msg) + "\n"
|
|
end
|
|
end
|
|
end
|