Rails.logger を呼び出すたびに Honeybadger に通知したいのですが、アプリ全体で既存の Rais.logger 呼び出しが大量にあります。
Rails.logger.fatal が呼び出されるたびに呼び出されるフックを作成する方法はありますか?
Rails.logger を呼び出すたびに Honeybadger に通知したいのですが、アプリ全体で既存の Rais.logger 呼び出しが大量にあります。
Rails.logger.fatal が呼び出されるたびに呼び出されるフックを作成する方法はありますか?
私はあなたがこれのためにを乱用することができるはずだと思いますformatter
。http://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html#label-Format
私は次のように、すぐに使用できるログフォーマッタを上書きすることになりました。
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
終わり