3

log4j を使用して CSV ファイルを書き込もうとしています。CSV ヘッダーは、ログ ファイルが作成されるたびに先頭に書き込まれる必要があります。たとえば、これらのすべてのロール ファイルには、ログ ファイルの最初の行として次の行が含まれている必要があります。

log.0 タイムスタンプ、名前、最小、最大

log.1 タイムスタンプ、名前、最小、最大

log.2 タイムスタンプ、名前、最小、最大

ヘッダーを追加できるように、ロールオーバーがいつ発生したかを判断することはできますか?

ありがとう。

PS: オープン ソースの CSV ライターがたくさんあることは知っていますが、ソフトウェアで既存のログ機能を使用したいので、それらを使用したくありません。

4

2 に答える 2

6

RollingFileAppender の log4j ドキュメントを見ると、rollOver というメソッドがあります。

http://logging.apache.org/log4j/1.2/apidocs/index.html

RollingFileAppender から継承するカスタム ファイル アペンダーを実装し、rollOver メソッドをオーバーライドする必要があります。super.rollOver を呼び出すだけで、何かがログに記録される前に、ヘッダーとして必要なものを新しいファイルに書き込むことができると思います。

于 2012-07-11T18:36:44.033 に答える