私は、Tomcat 5.5 の stderr および stdout ログ ファイルを取得し、それらが大きくなりすぎたときにロールオーバーする方法を見つけようとしてきましたが、そうすることができませんでした。ここで、これは Web アプリのログ記録用ではないことを理解してください。これは、Tomcat によって自動的に作成される stdout および stderr ログです。繰り返しますが、サイズが大きくなりすぎます。サイズが大きくなりすぎた場合や一定の時間間隔 (つまり、毎日、毎時間) にロールオーバーする方法が必要なだけです。
log4j を使用してみましたが、Tomcat 向けではなく、アプリケーション ロギング向けのようです。og4j (http://sysgears.com/articles/how-to-redirect-stdout-and-stderr-writing-to-a-log4j-appender#comment -749)、私はこのサイトでいくつかの質問を書き、私の窮状を詳しく説明しましたが、動作させることができませんでした. その方法を機能させることができれば、またはlog4jの外にある別の方法があれば、それをいただければ幸いです。
さらに、たとえば Java や Perl などで自分でファイルをロールオーバーすることは可能でしょうか? テストとして、書き込み中のファイルを削除してみましたが、もちろんできませんでした。ファイルは Tomcat によってロックされていました。プロセスは次のようになります。
Tomcat プロセスからファイルのロックを解除します サイズが「大きすぎる」かどうかを確認します サイズが「大きすぎる」場合は、ファイルを保存して閉じ、新しいファイル名で新しいファイルを書き込みます (つまり、stderr01012011_1.log) 新しいファイルを Tomcat プロセスにロックします
これは大変な作業のように思えますし、実行可能でさえないかもしれませんが、log4j メソッドを機能させることができない場合、どうすればよいでしょうか? ありがとうございました。
Apache に stderr および stdout ログ ファイルをロールオーバーするための組み込み機能があればいいのにと思います。