log4j: rejestruje dane wyjściowe określonej klasy do określonego programu dołączającego
161
Używam log4j i chciałbym skierować dane wyjściowe niektórych Loggerów do określonych plików.
Mam już wielu aplikatorów. Teraz, aby ułatwić debugowanie, chcę powiedzieć log4j, że dane wyjściowe wygenerowane przez określoną klasę (np. Foo.bar.Baz) powinny zostać zapisane w określonym pliku dziennika.
ahh - takie proste! Dzięki! Czy ustawienie log4j.additivity.foo.bar.Baz = false wymusza, że dane wyjściowe Baz nie pojawią się w aplikacji appender rootLoggera?
gubrutz
3
do jakiej wersji log4J to służy? Próbuję znaleźć konfigurację XML, aby zrobić to samo dla log4j w wersji 1.2.17
AC
1
@RodrigoGurgel tak, nie ma tam nic niezwykłego
Maurice Perry
4
@dwjohnston ustawienie addytywności na false uniemożliwi rejestratorowi rejestrowanie się do dołączających jego przodków (domyślnie jest to prawda). W tym przypadku, gdyby addytywność została pozostawiona na wartość true, logowanie do programu dołączającego Baz byłoby zapisywane do obu plików.
Maurice Perry,
1
jakieś przemyślenia na temat konfiguracji xml?
Igor Donin
21
Oto odpowiedź dotycząca konfiguracji XML, zwróć uwagę, że jeśli nie podasz appenderowi pliku a ConversionPattern, utworzy on plik 0-bajtowy i nic nie zapisze:
Oto odpowiedź dotycząca konfiguracji XML, zwróć uwagę, że jeśli nie podasz appenderowi pliku a
ConversionPattern
, utworzy on plik 0-bajtowy i nic nie zapisze:źródło
<appender-ref ref="bdfile"/>
z<root>
- w przeciwnym razie cały dziennik zostanie skopiowany do tego pliku.<logger>...
żywioł. Określ klasę lub pakiet jako nazwę, a program dołączający jako plik dołączający.