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 に答える