2017-03-07 9 views
0

Derzeit druckt mein Code Protokolle auf der Konsole, erstellt jedoch keine Datei mit den Protokollen. Dies ist der Code von log4j.properties:Eine Datei mit log4j konnte nicht erstellt werden

log4j.rootLogger=file, stdout 

log4j.appender.file=org.apache.log4j.FileAppender 
log4j.appender.file.File=C:/logs/logging.log 
log4j.appender.file.ImmediateFlush=true 
log4j.appender.file.MaxFileSize=10MB 
log4j.appender.file.MaxBackupIndex=10 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %L - %m%n 
log4j.appender.file.Append=true 
log4j.appender.file.Threshold=INFO 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n 

Es ist im Ressourcenordner meiner Federanwendung. Und das ist, wo ich es verwenden:

public void getPreviousDay() { 
     PropertyConfigurator.configure("log4j.properties"); 
     logger = Logger.getLogger(LocationScheduler.class); 
     logger.info("Test"); 
} 

Antwort

0

Es gibt einige Änderungen müssen Sie

  1. Vor allem log4j.rootLogger gibt Protokollebene und als die appender zu Ihrem log4j.properties

    machen. so in Ihrem Fall hat es

    log4j.rootLogger= INFO, file, stdout

  2. Statt log4j.appender.file=org.apache.log4j.FileAppender Verwendung log4j.appender.file=org.apache.log4j.RollingFileAppender sein, um ein Rollover-Logfile zu erhalten.

Hoffe, das hilft.

EDIT

Es Ihr Programm scheint nicht in der Lage Ihre log4j.properties zu erreichen, und der Grund ist die Methode, die Sie es nur zum Laden nimmt einen vollständig qualifizierten Pfad des log4j.properties

verwenden Wenn Sie möchten, Ihre log4j.properties von classpath Verwendung unter Version zu laden:

PropertyConfigurator.configure(ClassLoader.getSystemResource("log4j.properties")); 
+0

versuchte ich Ihren Vorschlag und meinen Code korrigiert, leider hat es nicht funktioniert :( –

+0

Sind Sie sicher, dass Ihre log4j.properties zum Laden erreichbar ist? – Sanjeev

+0

Bitte lesen Sie die bearbeitete Antwort. es sollte funktionieren. – Sanjeev

Verwandte Themen