2017-03-07 11 views
0

現在、私のコードはログをコンソールに出力していますが、ログを含むファイルは作成していません。これはlog4j.propertiesのコードです:log4jでファイルを作成できません

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 

私のSpringアプリケーションのリソースフォルダにあります。私はそれを使用する場所 そして、これは次のとおりです。

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

答えて

0

あなたはすべてのlog4j.rootLoggerの最初のログレベルを指定し、アペンダよりもあなたlog4j.properties

  1. に行うために必要な変更がいくつかあります。ので、あなたのケースでは、ロールオーバーログファイルを取得するために、代わりにlog4j.appender.file=org.apache.log4j.FileAppender使用log4j.appender.file=org.apache.log4j.RollingFileAppender

    log4j.rootLogger= INFO, file, stdout

  2. なければなりません。

希望します。

EDIT

あなたのプログラムがあなたのlog4j.propertiesに到達することができず、その理由は、あなたがロードのために使用されている方法であり、必要であればそれだけでlog4j.properties

の完全修飾パスを取るようですバージョン以下のクラスパスの使用からあなたlog4j.propertiesをロードするために:私はあなたの提案を試してみましたが、私のコードを修正し

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

、残念ながらそれは動作しませんでした:( –

+0

あなたのlog4j.propertiesがロード可能かどうか確認してください。 – Sanjeev

+0

編集された回答をご覧ください。それは動作するはずです。 – Sanjeev

関連する問題