2009-10-07 20 views
6

java.util.logging, günlük dosyalarını yeni bir günlük dosyası kullanarak "yuvarlandığında" sıkıştırmak için yapılandırılabilir mi? Örneğin, benim günlük yapılandırma dosyasından bir özü şuna benzer:java.util.logging, sıkıştırılmış günlük dosyalarını kullanacak şekilde yapılandırılabilir mi?

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 

İdeal akım günlük iletilerini istiyorum blah.log.1.gz korurken blah.log.0 yazılmasına, blah.log .2.gz, vb.

Ayrıca, farklı bir kayıt çerçevesi kullanmak istemediğimi lütfen unutmayın.

cevap

8

Evet, ancak kendi dosya işleyicinizi yazmanız gerekir. Sadece FileHandler için kaynak kodunu projenize kopyalayın (sınıfı yararlı bir şekilde genişletemezsiniz) ve 'un open() yöntemini değiştirin.

Bundan sonra, yeni işleyicinizi kullanmak için normal yapılandırmayı kullanın.

3

Hayır, kendiniz yazmadan değil, yapabileceğiniz şey düzenli olarak bunu yapan bir cron işi planlamaktır. Bu muhtemelen en hızlı çözüm olacaktır.

2

Java loglama çerçevesinde mevcut olduğundan şüphe duyuyorum. Her gün önceki tüm günlük dosyalarını sıkıştıran bir kabuk betiği ayarlayabilirsiniz.

Eğer gerçekten java'da yapmak istiyorsanız, kendi dosyalayıcınızı yazmanız gerekebilir.
Yeni bir dosya oluşturan yöntemi kontrol edin ve öncekini sıkıştırmaya çalışın.

İlgili konular