2011-05-16 79 views
0

我想要的是:就像Glassfish 3服務器日誌,如果日誌文件通過一定的文件大小(如2MB),日誌文件將自動壓縮自身,這樣日誌文件不會變得太大。我不確定這是通過log api還是cron api完成的。是否有可能使用log4j獲得我上面描述的內容,或者是否存在某種類型的cron過程涉及此處?這裏是log4j的可以log4j壓縮文件大小後傳遞的日誌文件2MB

log4j.rootLogger=DEBUG, LOG , stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%5p %d{d/MM/yy HH:mm:ss}:%m%n 
# log4j.appender.LOG.Threshold=INFO 

log4j.appender.LOG=org.apache.log4j.RollingFileAppender 
log4j.appender.LOG.File=C:\\dev\\harry\\data\\logs\\core.log 
log4j.appender.LOG.layout=org.apache.log4j.PatternLayout 
log4j.appender.LOG.Append=true 
log4j.appender.LOG.layout.ConversionPattern=%5p %d{d/MM/yy HH:mm:ss}:%m%n 
# log4j.appender.LOG.Threshold=INFO 
+0

可以請您發佈您的方式實現您的要求,面臨類似的要求...謝謝。 – Jayesh 2014-09-18 09:12:54

回答

2

在log4j的演員我的屬性文件的項目log4j extras project有可以使用的許多有用的附加目的地。特別是配置了RollingFileAppenderTimeBasedRollingPolicy可以自動壓縮滾動的文件。我不知道SizeBasedTriggeringPolicy是否也是如此,並且文檔很粗糙。

我認爲構建一個SizeBased的自定義RollingPolicy並壓縮輸出會很容易,因爲所有成分都存在於Log4j extras項目中(甚至是壓縮文件)。它基本上與TimeBased策略的代碼相同,實現isTriggeringEvent方法與SizeBased策略相同。

或類似的東西。

1

基本上爲了克服日誌文件的大小限制,我們用來創建appender 日誌文件,如果大小限制增加超過最大大小。 請檢查以下文章Rolling file appenders