Question

J'ai une application pour laquelle la journalisation log4j est configurée dans un fichier log4j.properties. Actuellement, cette application s'exécute sous UNIX et crée un fichier journal dans / tmp. Cette application doit être exécutée sous Windows et sur cette plate-forme, j'aimerais qu'elle sélectionne le bon répertoire temporaire, qui, à mon avis, est C: \ temp.

Comment puis-je modifier mon fichier log4j.properties pour que cela se produise? Dois-je passer à un fichier de configuration XML?

Était-ce utile?

La solution

Je pense que vous utiliseriez simplement $ {java.io.tmpdir} à la place d'un chemin codé en dur.

Autres conseils

À partir de Log4J v1.2.14, j’étais capable de l’utiliser à la fois dans un fichier log4j.xml et dans un fichier log4j.properties. Il y a eu des discussions sur le Web sur le fait que les variables ne seraient pas analysées dans DOMReader, mais c'est le cas à partir de cette version de 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>

ou

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top