Log4J Datei ändern Pfad dynamisch

Möchte ich ändern Sie den Pfad und den Dateinamen meiner log4j-Protokolldatei dynamisch.

Ich habe gelesen, eine Menge von Seiten und fast alle sagen mir, dass ich sollte, verwenden Sie die system-Eigenschaften wie die hier:
so ändern Sie die log4j-Protokolldatei wird dynamisch?

Also meine log4j.properties-Datei sieht wie folgt aus:

log4j.logger.JDBC_LOGGER=INFO,jdbcTests
log4j.additivity.JDBC_LOGGER = false

log4j.appender.jdbcTests=org.apache.log4j.FileAppender
log4j.appender.jdbcTests.File=${my.log}
log4j.appender.jdbcTests.layout=org.apache.log4j.PatternLayout
log4j.appender.jdbcTests.append = false
log4j.appender.jdbcTests.layout.ConversionPattern=%d{yyyy mm dd HH:mm:ss} %5p %C:Line %L - %m%n

In meiner main-Methode werde ich mein neues system Eigenschaft:

System.setProperty("{my.log", "C:/logfile.log");

Aber ich bekomme nur eine Fehlermeldung:

log4j:ERROR setFile(null,false) call failed.
java.io.FileNotFoundException: 
    at java.io.FileOutputStream.open(Native Method)....

Und wenn ich versuche zu Lesen, mein set system-Eigenschaft mit:

System.out.println(System.getProperty("my.log"));

es null zurück.
Was mache ich falsch?

InformationsquelleAutor Metalhead89 | 2012-08-07
Schreibe einen Kommentar