2011-12-01 19 views
25

私はスペースに問題があるので、catalina.outのサイズを10Mに制限し、ロールの数を3日前に制限する必要があります。 configure logging.propertiesのみで可能ですか?おかげさまで tomcatの最大ロール数と最大ログサイズの設定方法は?

+0

私はこれが古い投稿だと知っていますが、私はこのサイトですべての回答を得たいと思うので、[この代替案](http://java.dzone.com/articles)にも従うことを追加します。/how-rotate-tomcat-catalinaout)を使用します。これはUnixマシンで実装するのが非常に簡単です –

答えて

34

TomcatはJULを内部的に使用してログするため、システムプロパティーjava.util.logging.config.fileを使用してプロパティーファイルのファイルパスを指定できます。このプロパティファイルの形式については、JRE_HOME/lib/logging.properties(JULが使用するデフォルトの構成ファイル)を参照できます。

ただし、JUL does not support the daily rotationです。あなたが気にしない場合は、代わりに、ログのファイルサイズに基づいてログファイルを回転させるために、そのjava.util.logging.FileHandlerを使用することができます。

# Define the FileHandler 
handlers= java.util.logging.FileHandler 

# Configure the FileHandler 
java.util.logging.FileHandler.pattern = %h/java%u.log 
java.util.logging.FileHandler.limit = 1024000 
java.util.logging.FileHandler.count = 3 
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter 
java.util.logging.FileHandler.append=true 

次に、各ログファイルの意志が上限サイズ1024000バイト(1メガバイト)を持っています、最大3つの出力ログファイルをロールバックします。設定の詳細については、Javadoc java.util.logging.FileHandlerを参照してください。


JULを使用して毎日ローテーションをサポートするには、ファイルハンドラを実装する必要があります。 this blogからカスタム実装が見つかりました。私はまだそれを試していない。興味があれば参照することができます。

+1

しかし、質問は約3日ではなく、3つのファイルでした。 – StKiller

+0

はい、あなたは正しいです。私は質問を誤解しました。 JULは、毎日ログを回転させる組み込みのハンドラを持っていないようです。 –

+4

制限を2^10 * 1000に設定するのはなぜ、ちょっとランダムですか?なぜ、1MB(1000000バイト)または1MiB(2^20/1048576バイト)を使用するのでしょうか? –

関連する問題