node.js+express+log4jsでのアクセスログローテーション
謝辞
以下の記事を参考にさせていただきました。感謝です。
*【Node.js】expressでaccess log + log rotate | 湘南社中テクニカルブログ
node.jsとexpressでのアクセスログ
node.js+expressには、express標準のloggerだとログの出力先をファイルにすると、対象のファイルがずっとオープン状態になってしまう、という欠点があります。 (※:もしかしたら私が回避方法を知らないだけかもしれませんが。)
そのため、いい感じのログをファイル出力し、日次でローテーションする、というような運用ができません。
1ファイルに長々とアクセスログが出力されるようでは、運用もままならないので、log4jsを使ってexpressのアクセスログをいい感じにローテーションできるようにしたいと思います。
log4jsを使う
LoggingFrameworkのlog4jsについては、こちらで紹介しています
実際のコードはこんな感じ。※:要リファクタリング app.routerの前で、functionを入れログレベルをinfoで出力させています。
実際にexpressをスタートさせ、ブラウザからアクセスすると以下のようなログが出力されます。
access.log
Link
Latest post:
- OpenWhiskのScala sbtプロジェクトのgiter8テンプレートを作った
- OpenWhisk+Scalaで作るServerless Architectureとっかかり
- BluemixにPlayframeworkアプリケーションをデプロイする
- sbt、Giter8を統合するってよ
- Scala 2.12.0でSAM型