在Rails.logger上的Honeybadger挂钩

时间:2013-03-08 02:22:44

标签: ruby-on-rails ruby logging

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

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

2 个答案:

答案 0 :(得分:1)

答案 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