読者です 読者をやめる 読者になる 読者になる

@thorikiriのてょりっき

@thorikiriがWebとかAndroidとかの技術ネタや本を読んだブログです

Log4JのDailyRollingFileAppenderを使う場合に

development

Webアプリケーションのログ管理についてを見て思い出したから書くよ。
今はちょっと萌え気味のプロジェクトでトラブルシュートしてるんだけどさ。
そこでJavaのバッチとシェルのバッチがあって、どちらも同じファイルにログ出力するわけです。
Javaのログ出力ではLog4JのDailyRollingFileAppenderを使ってて、日時でファイルが切り替わるようになってます。
バッチのログ出力はechoで吐いてます。
問題が発生したのは、普段は問題ないんだけど、シェルがコケたときに、Javaより先にシェルログを吐いたのが、日付が切り替わった直後でしたってことです。
DailyRollingFileAppenderはファイルのタイムスタンプを見て、切替処理を行うんだけど、先にシェルがログを吐いたので、タイムスタンプが変わっちゃって、Rollingされなくなるってなってました。
まぁ、どうしたかって言うと、ログ出すだけのJava作って、ログ出力しましたよってことですね。