2009-06-24 7 views
0

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

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

+0

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 –

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>