2013-08-08 17 views
5

Log4j'yi her saat devirecek şekilde yapılandırabilir, sonra tüm günlük günlük dosyalarını tek bir zip halinde sıkıştırabilir (böylece zip, 24 log dosyası içerir).log4j. Her saat yuvarlanır, günlük zip

İdeal olarak sadece bir haftalık ve daha eski olan günlerde dosyaları sıkıştırmak istiyorum. Ama bu sorunun başka bir parçası.

cevap

8

Büyük olasılıkla bir DailyRollingFileAppender kullanmak istiyorsunuz. Bunları saatlik olarak açmak için, '.'yyyy-MM-dd-HH'un bir DatePattern'i kullanırdınız.

log4j.appender.myAppender=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.myAppender.DatePattern='.'yyyy-MM-dd-HH 
... 

Veya programlı yapılandırma için: Bir log4j.properties dosyası için maalesef

DailyRollingFileAppender appender = new DailyRollingFileAppender(); 
appender.setDatePattern("'.'yyyy-MM-dd-HH"); 

Logger root = Logger.getRootLogger(); 
root.addAppender(appender); 

, bir DailyRollingFileAppender kullanarak dosya boyutunu sınırlamak anlamına gelir - Eğer varsa bu sorunlu olabilir verilen haddelenmiş dönemde günlük tonlar. Iyi compress-log4j-files

+1

Eğer TimeBasedRollingPolicy ile DailyRollingFileAppender birleştirerek (değeri = "günlükleri/appname% D {yyyy-AA-gg} Zip."), Bu olacağı anlamına yapın:

için bir göz sıkıştırmak için Bu 24 dosyanın tümünü toplayıp tek bir zip-arşivi haline getirebiliyor musunuz? – Alec

+0

üzgünüm idk, denemek zorundasın – Khinsu