Im Moment verwenden wir eine benutzerdefinierte Protokollierungsmethode für unsere Anwendung, aber jetzt haben wir einen eigenständigen Code, für den wir in eine separate Protokolldatei schreiben müssen. Wir haben wenig Ahnung von log4j. Ich möchte nur wissen, wo ich meine Eigenschaften ändern kann, wenn ich die bestehende Logger-Anwendung nicht störe, genauso wie wir unsere Logs in eine neue Log-Datei schreiben.So schreiben Sie Java-Serverprotokolle in separate Protokolldateien
0
A
Antwort
0
Verwenden Sie einfach FileAppender und geben Sie einen neuen Dateinamen im Konstruktor an.
1
zunächst eine Datei Appender definieren:
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=/mylogfile.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
Dann wird Ihr Paket zeigt diese appender zu verwenden:
log4j.logger.mypackage=LOGFILE
log4j.additivity.mypackage=false
Die letzte Zeile ist wichtig, wenn Sie nicht wollen, Ihr Paket der globalen appender zu erben . Dies führt dazu, dass die Protokollnachrichten von mypackage auch auf dem Standardappender gedruckt werden.
1
In log4j können Sie Protokolleinträge auf der Basis des pacakge-Namens in separate Dateien umleiten.
log4j.logger.your.package1 = LOG, STDOUT
log4j.additivity.your.package1 = false
log4j.logger.your.package2 = DEBUG, STDOUT
log4j.additivity .your.package2 = false
1
Ich benutze XML-Konfiguration.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="logfile" class="org.apache.log4j.FileAppender">
<param name="file" value="app.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d-%5p(%F:%L)-%m%n"/>
</layout>
</appender>
<appender name="myLogfile" class="org.apache.log4j.FileAppender">
<param name="file" value="myFile.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d-%5p(%F:%L)-%m%n"/>
</layout>
</appender>
<logger name="org.myApp">
<level value="INFO"/>
<appender-ref ref="myLogfile" />
</logger>
<root>
<level value="ERROR" />
<appender-ref ref="logfile" />
</root>
</log4j:configuration>
können Sie verschiedene Protokolle definieren, wie in der Antwort "Kgiannakakis" gezeigt ersetzen LOGFILE von LOG, DEBUG, etc log4j.appender.LOGFILE = org.apache.log4j.FileAppender log4j.appender. LOGFILE.File =/mylogfile.log log4j.appender.LOGFILE.Append = wahr log4j.appender.LOGFILE.layout = org.apache.log4j.PatternLayout log4j.appender.LOGFILE.layout.ConversionPattern =% d [% t ]% -5p% c% x -% m% n –