2009-10-07 8 views
6

Czy można skonfigurować plik java.util.logging w celu kompresowania plików dziennika, gdy "rzuca się" na nowy plik dziennika? Na przykład, wyciąg z mojego pliku konfiguracyjnym dziennika wygląda następująco:Czy plik java.util.logging może być skonfigurowany do używania skompresowanych plików dziennika?

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 

Idealnie chciałbym aktualnych komunikatów dziennika mają być zapisywane blah.log.0 zachowując blah.log.1.gz, blah.log .2.gz, itp.

Zwróć też uwagę, że nie chcę używać innej struktury rejestrowania.

Odpowiedz

8

Tak, ale musisz napisać własną obsługę plików. Po prostu skopiuj kod źródłowy do projektu FileHandler (nie można rozszerzyć klasy w żaden przydatny sposób) i zmodyfikuj metodę open() z poziomu .

Po tym, wystarczy użyć zwykłej konfiguracji, aby użyć nowej procedury obsługi.

3

Nie, nie pisząc samemu, ale możesz zaplanować pracę crona, która robi to regularnie. Prawdopodobnie byłoby to najszybsze rozwiązanie.

2

Wątpię, czy jest dostępny w ramce logowania Java. Możesz ustawić skrypt powłoki, który każdego dnia kompresuje wszystkie poprzednie pliki dziennika.

Jeśli naprawdę chcesz to zrobić w Javie, możesz napisać własny filehandler.
Sprawdź metodę, która tworzy nowy plik i spróbuj skompresować poprzedni.

Powiązane problemy