我想在我调用Rails.logger的时候通知Honeybadger,并且在我的应用程序中有大量现有的Rais.logger调用。
无论如何都要创建一个每次调用Rails.logger.fatal时调用的钩子吗?
答案 0 :(得分:1)
我认为您应该可以滥用formatter
。 http://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html#label-Format
答案 1 :(得分:0)
我最终覆盖了开箱即用的日志格式化程序,如下所示:
class Logger::SimpleFormatter
def call(severity, time, progname, msg)
if Rails.env.production? && (severity == "FATAL" || severity == "ERROR")
@context = { :severity => severity.to_s, :time => time.to_s, :msg => msg.to_s }
Honeybadger.context(@context)
Honeybadger.notify(@context)
end
return "[#{severity}] #{msg}\n"
end
端