前提
ログと言っても色々あると思いますが。書くのはKPI用途等、非エンジニア側で集計して使われるもの。
失敗例
Railsプロジェクトでサービス層を採用し、その内部でログを吐き出す方針を取りました。
ただ、実際のログはサービス層に紐づくものよりモデルに紐づくものが多く、修正・保守コストが馬鹿にならなくなってしまった。
次回こうしたい
下記であれば修正は最低限でDRYになり、保守しやすくなると思う。
- rackなどでリクエストごとにリセットされる変数(配列など)を用意
- ログは必要な箇所ごとに用意して変数に追加する
- controllerのafter_actionなどでログを吐き出す