Wie Java-Logger Ausgabe erhalten standardmäßig Datei [Duplikat]
-
09-09-2019 - |
Frage
Diese Frage bereits eine Antwort hier:
- Wo java.util.logging.Logger speichern ihre log 3 Antworten
Netbeans nachdenklich besprengt Logger.getLogger (this.getClass (). GetName ()). Log (Stufe. [...] Aussagen in catch-Blöcke. Nun würde Ich mag sie alle in eine Datei Punkt (und zu trösten).
Jede Anmeldung Tutorial und so nur mir erzählt, wie eine bestimmte Logger Ausgabe in eine Datei zu bekommen, aber ich nehme an, es gibt einen besseren Weg als jede automatisch generierte Protokollerklärung zur Festsetzung? Einrichten eines Handlers für irgendeine Art von Root-Logger oder etwas?
Lösung
ich fügen Sie einfach die folgende beim Start
Handler handler = new FileHandler("test.log", LOG_SIZE, LOG_ROTATION_COUNT);
Logger.getLogger("").addHandler(handler);
Sie können Ihre eigenen Werte für LOG_SIZE
und LOG_ROTATION_COUNT
Möglicherweise müssen Sie die Protokollierungsstufe einstellen entsprechen.
Andere Tipps
Sie müssen definieren, wo das Protokoll in der Logger-Konfigurationsdatei wird writting. wenn Sie log4j Verwenden Sie zum Beispiel, eine log4j.xml (oder log4j.properties) Datei wird diese Informationen enthalten.
Zum Beispiel, hier ist eine einfache log4j.xml-Datei, die direkt in eine Datei (my-app.log) und in der Konsole protokolliert:
<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="rolling" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="my-app.log" />
<param name="DatePattern" value=".yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] [IP=%X{ipAddress}] [user=%X{user}] %m%n" />
</layout>
</appender>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] [user=%X{user}] %m%n" />
</layout>
</appender>
<root>
<priority value="info" />
<appender-ref ref="console" />
<appender-ref ref="rolling" />
</root>
</log4j:configuration>