Sha256: 095c889f4d6fd57115331b8c7e57c79568fcd04e325026bf004eaafffc28dee6
Contents?: true
Size: 996 Bytes
Versions: 26
Compression:
Stored size: 996 Bytes
Contents
module Startback module Support class LogFormatter def call(severity, time, progname, msg) msg = { message: msg } if msg.is_a?(String) msg = { error: msg } if msg.is_a?(Exception) { severity: severity, time: time }.merge(msg) .merge(error: error_to_json(msg[:error], severity)) .compact .to_json << "\n" end def error_to_json(error, severity = nil) return error if error.nil? return error if error.is_a?(String) return error.to_s unless error.is_a?(Exception) backtrace = error.backtrace[0..25] if severity == "FATAL" causes = error.causes.map{|c| error_to_json(c) } if error.respond_to?(:causes) causes = nil if causes && causes.empty? { message: error.message, backtrace: backtrace, causes: causes }.compact end end # class LogFormatter end # module Support end # module Startback
Version data entries
26 entries across 26 versions & 3 rubygems