2012-05-15 130 views
3

我們在Linux服務器上部署了很早的應用程序。由於磁盤空間問題,我們正在使用RollingFileAppender刪除舊日誌。壓縮日誌旋轉

每當我們在應用程序中遇到問題時,大部分日誌都將不在磁盤中。如果我們壓縮日誌文件,我們可以保留100個日誌文件來代替一個未壓縮的日誌文件。

是否有辦法來壓縮文件,一旦日誌文件被填滿和時間一定的階段後刪除[可以說一個星期。]

我試圖與DailyRollingFileAppender,但它不工作我們期待的方式。

最大日誌限制爲500.但該應用程序每小時創建200個日誌。包含錯誤消息的實際日誌可能不適用於我們。所以我們打算壓縮所有的日誌文件並在一週後刪除它們。

+1

有shell腳本每天晚上壓縮日誌,然後將其移動到二級存儲設備 – Satya

+0

「它不工作,我們期待的方式」 ......這樣告訴我們你的* *了期待,以及'DailyRollingFileAppender'與此不同。 – skaffman

回答

1

是解決您的問題,請檢查該link。它支持這一點。 將此添加到RollingFileAppender配置中。

<appender...> 
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> 
     <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}**.gz**"/> 
    </rollingPolicy> 
</appender> 
1

我不知道如果log4j支持這一點,但如果你移動到logback你有這種可能性。

http://logback.qos.ch/

哈喬

+1

用於在盒子外思考的+1 –