2011-07-01 10 views
1

Log4jをファイルにログインするように設定しましたが、代わりにstdoutにログします。 ログファイルを作成しますが、stdoutではなくログファイルに書き込みます。設定ファイルではなくコンソールでLog4j出力

log4j.rootCategory=INFO, file, mail 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=/path-to/jobs-batch.log 
log4j.appender.file.MaxFileSize=10MB 
log4j.appender.file.MaxBackupIndex=2 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=[jobs-batch] %p [%t] %c{1}.%M(%L) | %m%n 

log4j.logger.org.springframework.jdbc=WARN 

# Configuration for receiving e-mails when ERROR messages occur. 
log4j.appender.mail=org.apache.log4j.net.SMTPAppender 
[email protected] 
[email protected] 
log4j.appender.mail.SMTPHost=mail.xxx.de 
log4j.appender.mail.Threshold=ERROR 
log4j.appender.mail.Subject=Jobs Batch Error 
log4j.appender.mail.layout=org.apache.log4j.PatternLayout 
log4j.appender.mail.layout.ConversionPattern=%d %-5p %c %x - %m%n 

任意のアイデア:ここ

は私の設定ファイルでありますか?

おかげ

+1

これはlog4jが読んだ設定ファイルであることは確かですか? –

+0

書き込み権限がありますか? – ssedano

+0

@Udo:はい私は – mmoossen

答えて

0

私は自分で愚かでした。 私は-Dlog4j.configurationを使ってファイルを設定していました。 しかし、私もlog4jをプログラムでSAME設定ファイルを使うように設定していました。

なぜ私はちょうど同じ設定ファイルを2回設定していたので、そのように振る舞ったのか分かりません。しかし、いったんそれをやってしまえば、それは一度それが期待通りに機能した。

1

は、あなたのニーズに合った調整:チェックする

log4j.rootCategory=DEBUG, C  
log4j.appender.C=org.apache.log4j.ConsoleAppender 
log4j.appender.C.layout=org.apache.log4j.PatternLayout 
log4j.appender.C.layout.ConversionPattern=%d{MMddyyyy HH:mm} %-5p %c{1}:%L - %m%n 
log4j.appender.C.Target=System.out 
+0

私はあなたが質問を誤解したと思います。私はコンソール出力をしたくありません。 – mmoossen

1

もの:

  • をごLog4jのプロパティファイルの名前は何ですか?デフォルトはlog4j.propertiesです。これはLog4jライブラリが起動時に探すものです。
  • Thorbjornが彼のコメントで尋ねることに関連して、log4jプロパティファイルはどこにありますか?それをデフォルトのパッケージに配置すると、そのパッケージが見つかるようになります(デフォルトでは、Log4jはクラスパスを検索します)。
  • オプションで、JVMの起動時にlog4j.configurationプロパティを使用してlog4jプロパティファイルの場所を指定します。
+0

私は起動時に小道具でそれを行います。私は私のファイルが使用されていると確信しています – mmoossen

関連する問題