2009-10-07 90 views
6

是否有可能配置java.util.logging來壓縮日誌文件,當它「滾動」到使用新的日誌文件?例如,從我的日誌配置文件的摘錄如下:可以將java.util.logging配置爲使用壓縮日誌文件嗎?

java.util.logging.FileHandler.level  = ALL 
java.util.logging.FileHandler.pattern = /blah.log 
java.util.logging.FileHandler.limit  = 10000000 
java.util.logging.FileHandler.count  = 5 

理想我想當前日誌消息被寫入blah.log.0同時保留blah.log.1.gz,blah.log .2.gz等

同時請注意,我不希望使用一個不同的日誌框架。

回答

8

是的,但您必須編寫自己的文件處理程序。只爲FileHandler源代碼複製到你的項目(不能擴展任何有用的方法類)和修改的MeteredStreamopen()方法。

之後,只需使用普通的配置,以使用新的處理程序。

3

不,不是沒有自己寫的,但你可以做的是安排一個cron作業,定期做這個。這可能是最快的解決方案。

2

我懷疑它可在Java日誌框架。你可以設置一個shell腳本,每天晚上壓縮所有以前的日誌文件。

如果你真的想這樣做在Java中,你可能需要編寫自己的FileHandler。
檢查創建新文件並嘗試壓縮前一個文件的方法。

相關問題