3

Linux サーバーにデプロイされた非常に古いアプリケーションがあります。RollingFileAppender ディスク容量の問題により、古いログを削除するを使用しています。

アプリケーションで問題が発生すると、ほとんどのログがディスクで利用できなくなります。ログ ファイルを圧縮すると、圧縮されていない 1 つのログ ファイルの代わりに 100 個のログ ファイルを保持できます。

ログファイルがいっぱいになったらファイルを圧縮し、特定の時点でファイルを削除する方法はありますか [1 週間としましょう]。

で試しましDailyRollingFileAppenderたが、期待どおりに動作しません。

最大ログ制限は 500 です。ただし、アプリケーションは 1 時間あたり 200 ログを作成します。エラー メッセージを含む実際のログは、入手できない場合があります。そのため、すべてのログ ファイルを圧縮し、1 週間後に削除する予定です。

4

3 に答える 3

2

はい、このリンクをご確認ください。そのためのサポートがあります。これを RollingFileAppender 構成に追加します。

<appender...>
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
      <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}**.gz**"/>
    </rollingPolicy>
</appender>
于 2012-05-15T09:47:26.327 に答える
1

log4j がこれをサポートしているかどうかはわかりませんが、logback に移行すると、この可能性があります。

http://logback.qos.ch/

波止

于 2012-05-15T09:09:37.720 に答える
0

はい、シェル スクリプトまたは cron http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5 で問題を簡単に解決できます。

于 2012-05-15T09:36:22.733 に答える