Czy ktoś może mi powiedzieć, jak wyłączyć log4j w środowisku internetowym? W środowisku produkcyjnym bez wpływu na kod, jak wyłączyć mechanizm rejestrowania z naszego kodu?
Odpowiedzi:
0 dla odpowiedzi № 1Prawdopodobnie masz plik log4j.properties, masz również poziomy raportów, jeśli bieżący poziom to ERROR
lub coś, co nie jest OFF
, powinieneś go zmienić na OFF
: niż żadne raporty nie zostaną napisane.
tutaj jest połączyć do różnych poziomów raportowania.
0 dla odpowiedzi nr 2
Musisz zmienić swoje log4j.plik właściwości. Jeśli nie możesz tego zrobić, możesz użyć projektu slf4j, aby wywołać log4j w slf4j, który z kolei możesz powiedzieć, aby użyć dowolnego backendu logowania. Albo slf4j-jdk14, który powoduje przejście do standardowego rejestrowania, które obsługuje większość kontenerów, albo slf4j-nop, który sprawia, że slf4j milczy.
0 dla odpowiedzi № 3
Jeśli używasz konfiguracji XML dla log4j, możesz włączyć obsługę zmian w konfiguracji „gorącej”. Na przykład, aby sondować konfigurację zmian co 10 sekund, załaduj swoją konfigurację w ten sposób:
DOMConfigurator.configureAndWatch("log4j.xml", 10000);
W ten sposób można zmienić poziomy dziennika bez zmiany kodu, a nawet bez ponownego uruchamiania aplikacji.
0 dla odpowiedzi nr 4
Całkowite wyłączenie rejestrowania należy uważnie rozważyć. Lepszą opcją byłoby dezaktywowanie / zmiana poziomu dziennika na poziomie pakietu w log4j.properties:
# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN