Frage

Ich habe eine Anwendung, für die log4j -Protokollierung in einer log4j.properties -Datei konfiguriert ist. Derzeit wird diese Anwendung auf UNIX ausgeführt und erstellt eine Protokolldatei in /TMP. Diese Anwendung muss unter Windows ausgeführt werden, und auf dieser Plattform möchte ich das richtige temporäre Verzeichnis auswählen, von dem ich glaube, dass es C: Temp ist.

Wie kann ich meine log4j.properties -Datei ändern, um dies zu erreichen? Muss ich auf eine XML -Konfigurationsdatei wechseln?

War es hilfreich?

Lösung

Ich denke, Sie würden einfach benutzen ${java.io.tmpdir} anstelle eines hartcodierten Weges.

Andere Tipps

Ab Log4J v1.2.14 konnte ich dies sowohl in einer log4j.xml -Datei als auch in einer log4j.properties -Datei verwenden. Es gab einige Diskussionen im Web, dass Variablen nicht im Domreader analysiert würden, aber sie tun diese Version von Log4J.

<appender name="rolling_file_appender_ourapp" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="${user.home}/.mycompany/OurApp.log" />
    <param name="Append" value="false" />
    <param name="MaxFileSize" value="10MB" />
    <param name="MaxBackupIndex" value="3" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d | %-5p | %c | %m | %t | %x %n" />
    </layout>
</appender>

oder

log4j.appender.rfile=org.apache.log4j.FileAppender
log4j.appender.rfile.layout=org.apache.log4j.PatternLayout
log4j.appender.rfile.Append=false
log4j.appender.rfile.layout.ConversionPattern=%d [%p] %c %m%n
log4j.appender.rfile.File=${user.home}/.mycompany/OurApp.log
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top