GlassFish でローテーションされたログファイルを削除するようにどう設定しますか?

users@glassfish メーリングリストより:

質問 GlassFish で、ローテートされたログファイルを一定の数だけキープしたり、一定の期間が過ぎた
ログファイルを削除する方法はありますか?ファイルサイズと期間でローテートすることが出来るのは知って
いますが、これではログファイルのディレクトリはどんどん大きくなってしまいます。(私のプラットフォーム
だと、残念ながら UNIX syslog をログに使えないので他のアイデアを探しています。

https://github.com/javaee/glassfish/issues/3874
回答 Jan Luehe: 次のシステムプロパティを設定してみてください:

com.sun.enterprise.server.logging.max_history_files

このプロパティは(最新のものから数えて)キープしておくアクセスログファイルの最大数を指定します。
GlassFish はこのシステムプロパティをある顧客向けのパッチから継承してます。この値は、domain.xml
の中の <access-log property> で定義できるのが望ましいのですが、domain.xml を制御する DTD
によれば、<access-log> エレメントは現時点では <property> サブエレメントをサポートしていません。

com.sun.enterprise.server.logging.max_history_files システムプロパティはアクセスログとサーバーログ
両方のローテートされたログファイルの数を制限します。(ということは、もし domain.xml で設定できていた
ならば、プロパティ(もしくはアトリビュート)を <access-log> と <log-service> の両方に設定し、
それぞれに異なる値を指定することができましす。)
管理コンソールを使って、このシステムプロパティを設定する必要のあるサーバーを適切に構成します。

asadmin コマンドの場合、create-jvm-options コマンドを使ってみてください。


日本語翻訳: shioda

英文 (翻訳したバージョン: 2)