Czy jest możliwe, aby którykolwiek z dołączających log4j zapisywał dzienniki z określonym czasem rotacji i limitem przechowywania.
Celem będzie:
- mieć plik dziennika na każdy dzień; utwórz nowy plik o północy dla nowych dzienników
- przechowywać pliki dziennika i automatycznie usuwać je po pewnym czasie; więc usuń pliki dziennika starsze niż X dni (np. 30 dni)
Wydaje się, że obrót jest możliwy, ale ograniczenie czasu retencji nie jest możliwe w przypadku log4j
Wersja log4j to 1.2.
tak możemy!
plik:
project->src->main->resources->logback.xml
Aby uzyskać więcej informacji, zobacz dokumentację: TimeBasedRollingPolicy
JavaDoc: TimeBasedRollingPolicy
źródło
Większość odpowiedzi opiera się na logback. Ale pytanie dotyczy log4j 1.2 (stary ...)
odpowiedź mówiąca o DailyRollingFileAppender również nie będzie działać.
org.apache.log4j.DailyRollingFileAppender
nie obsługuje tejMaxBackupIndex
właściwości patrz http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html (dotyczyRollingFileAppender
)możesz być zainteresowany: Użyj MaxBackupIndex w DailyRollingFileAppender -log4j
i dla możliwej odpowiedzi: Log4j Rollingpolicy i MaxbackupIndex
Ale prawdopodobnie powinieneś użyć „emulacji” slf4j log4j ( http://www.slf4j.org/legacy.html#log4j-over-slf4j ) i przekierować swój dziennik przez logback (bez zmiany kodu), gdzie jest znacznie łatwiej zaimplementować .
źródło