0

我想在调用 Rails.logger 的任何时候通知 Honeybadger,并且在我的应用程序中有大量现有的 Rais.logger 调用。

无论如何要创建一个每次调用 Rails.logger.fatal 时调用的钩子?

4

2 回答 2

1

我认为您应该能够为此滥用formatterhttp://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html#label-Format

于 2013-03-08T02:35:14.357 回答
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

结尾

于 2013-03-08T17:43:22.470 回答