papertrailで、無料枠内でエラーログ を収集し続けるには

2021/08/24に公開

前提

papertrailは、herokuの無料でも使えるアドオンで、エラーログの監視をすることができます。
使い方は以下のようなサイトを見ていただければわかると思います
https://hub.appirio.jp/tech-blog/heroku-tips-3
http://vdeep.net/heroku-papertrail

状況

herokuをホスティングサーバーとして利用し、Rails製のアプリを運用しています。
そこで、エラーログを監視してもしどこかでエラーがあればSlackなどに通知したくて、papertrailを採用しました。
そこで、採用したは良いものの、無料枠だと、2021年8月17日現在では、ログデータが10MBまでしか収集できませんでした。

そこで、今回不要なログ、つまり正常にアプリが動いている時のログはフィルターをかけたいと思いました。
この記事ではどのキーワードでフィルターをかければいい感じにログを取れるかについて記述します。
とりあえず以下のようにすれば、無料枠だけで毎日エラーログを収集できます🎉

フィルターをかけるキーワード

例:

INFO

一般的な情報

DEBUG

低レベルの情報

at=info

一般的な情報

抽出したいキーワード

papertrailでは、ログの中から自分たちが見つけたいログのキーワードを指定して、該当のログをSlackなどに送信できます。
例:

"error code=H" OR "Error R" OR "Error L" OR "FATAL" OR "at=error" OR "at=warning"

ではどのようなキーワードを見つければ良いかについて記述します。
(追加の必要があるものはぜひコメントお願いします🙇‍♂️)

error code=H

heroku エラーコード

Error R

heroku エラーコード

Error L

heroku エラーコード

FATAL

プログラムをクラッシュさせるようなエラー

at=error

制御可能なエラー

at=warning

警告

文献

Heroku のエラーコード
Ruby 3.0.0 リファレンスマニュアル

修正や追記すべきものがあればどしどし教えてください😓
Github

Discussion