【Rails】ログ実装に失敗した話

前提

ログと言っても色々あると思いますが。書くのはKPI用途等、非エンジニア側で集計して使われるもの。

失敗例

Railsプロジェクトでサービス層を採用し、その内部でログを吐き出す方針を取りました。
ただ、実際のログはサービス層に紐づくものよりモデルに紐づくものが多く、修正・保守コストが馬鹿にならなくなってしまった。

次回こうしたい

下記であれば修正は最低限でDRYになり、保守しやすくなると思う。

  • rackなどでリクエストごとにリセットされる変数(配列など)を用意
  • ログは必要な箇所ごとに用意して変数に追加する
  • controllerのafter_actionなどでログを吐き出す