/ / Wie deaktiviere ich log4j in einer Webumgebung? - Java, log4j

Wie deaktiviere ich log4j in einer Webumgebung? - java, log4j

Kann mir jemand sagen, wie ich log4j in der Webumgebung deaktivieren kann? Wie kann in einer Produktionsumgebung, ohne den Code zu beeinflussen, der Protokollierungsmechanismus für unseren Code deaktiviert werden?

Antworten:

0 für die Antwort № 1

Wahrscheinlich haben Sie die Datei log4j.properties, und Sie haben auch Berichtsebenen, sofern Ihre aktuelle Ebene dies ist ERROR oder was das nicht ist OFF , solltest du es ändern OFF : als werden keine Berichte geschrieben.

hier ist ein Verknüpfung auf die verschiedenen Berichtsebenen erlaubt.


0 für die Antwort № 2

Sie müssen Ihr log4j ändern.Eigenschaftendatei. Wenn Sie das nicht können, können Sie das slf4j-Projekt verwenden, um Ihre log4j-Aufrufe in slf4j zu überführen. Sie können dann anweisen, dass Sie ein beliebiges Protokollierungs-Backend verwenden möchten. Entweder das slf4j-jdk14, mit dem es in die Standardprotokollierung übergeht, mit der die meisten Container umgehen, oder slf4j-nop, mit dem slf4j stumm geschaltet wird.


0 für die Antwort № 3

Wenn Sie eine XML-Konfiguration für log4j verwenden, können Sie die Unterstützung für "heiße" Konfigurationsänderungen aktivieren. Um die Konfiguration beispielsweise alle 10 Sekunden auf Änderungen abzufragen, laden Sie Ihre Konfiguration folgendermaßen:

DOMConfigurator.configureAndWatch("log4j.xml", 10000);

Auf diese Weise können Sie die Protokollebenen ändern, ohne den Code zu ändern und sogar ohne die Anwendung neu zu starten.


0 für die Antwort № 4

Das vollständige Deaktivieren der Protokollierung sollte sorgfältig abgewogen werden. Eine bessere Option wäre, die Protokollebene auf Paketebene in log4j.properties zu deaktivieren / ändern:

# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN