調査しやすいロギング環境について社内勉強会で発表したやつをまとめたやつです。 問題が起きたときなどにログを調査することはよくあることだが、ここでは調査しやすログとはどのようなもので、どうやって構築していくかについて述べる。 何も考えずにロギングしたときの問題点 ログファイルが巨大すぎて大変 ログファイルが複数に大量に分かれて大変 複数のリクエストのログが混ざって識別が困難 ログを検索するときに正規表現などで検索しなければならず大変 調査や集計などがしやすいロギング環境への改善 上記の問題を解決するためには以下を行う。 ログをローテーションする ログを集約する リクエストを判別できるリクエストIDなどを付与する ログをJSONなどに構造化する ログをローテーションする ActiveSupport::Logger や logrotate を使う ログを集約する CloudWatch Logs