Domanda

Ho un'applicazione per la quale la registrazione log4j è configurata in un file log4j.properties. Attualmente, questa applicazione viene eseguita su UNIX e crea un file di registro in / tmp. Questa applicazione deve funzionare su Windows e su quella piattaforma vorrei che selezionasse la directory temporanea corretta, che credo sia C: \ temp.

Come posso modificare il mio file log4j.properties per farlo accadere? Devo passare a utilizzare un file di configurazione XML?

È stato utile?

Soluzione

Penso che useresti solo $ {java.io.tmpdir} al posto di un percorso hardcoded.

Altri suggerimenti

A partire da Log4J v1.2.14, sono stato in grado di utilizzarlo sia in un file log4j.xml che in un file log4j.properties. C'è stata una discussione sul web che le variabili non avrebbero analizzato nel DOMReader, ma lo fanno a partire da questa versione di 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>

o

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top