2017-09-10 9 views
2

これは私のlog4j.propertiesファイルです。JavaでLog4jを使用して自分のプロジェクトログのみを記録することはできません

log4j.rootLogger=DEBUG, stdout, file 

# Redirect log messages to console 
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} %-5p %c{1}:%L - %m%n 

# Redirect log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
#outputs to Tomcat home 
log4j.appender.file.File=${catalina.home}/logs/myapp.log 
log4j.appender.file.MaxFileSize=5MB 
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} %-5p 

%のC {1}:%のL - 等%のMの%N

これはフレームワークに関連するログの束をロードさ

Iは

log4j.rootLogger=DEBUG only to load only my logs. 
を置くことを試みました

私のログファイルには自分のプロジェクトログだけが必要です。どこを変更する必要がありますか?

私は私の文をログに記録しています方法は

プライベートロガーロガー= Logger.getLogger(MyClass.class)です。

logger.debug("bla bla"); 

答えて

0

loggerは、アプリケーションパッケージ名ごとに設定する必要があります。それはtest.exampleパッケージ内だけでなく、サブパッケージに存在するクラスでデバッグログを有効にします

log4j.logger.test.example = DEBUG, stdout, file 
log4j.additivity.test.example = false 

-

と仮定、アプリケーションのパッケージ名は、あなたのlog4j.propertiesに線の下に追加しtest.exampleです。フレームワークに関連するログを除去するため

ERRORまたはWARNrootLoggerログレベルを変更する - これはパッケージtest.exampleとそのサブパッケージの上には存在しないフレームワーククラスまたはクラスに関連するエラーのみを表示する

log4j.rootLogger=ERROR, stdout, file 

+0

Vikas、これは自分のパッケージログもコンソールに表示していません。 – Aliy

+0

@Aliyファイルはどうですか?メッセージはファイルに記録されていますか?あなたのクラスのメッセージをどのように記録していますか? 1つのサンプルクラスを投稿できますか? –

+0

番号。 IDEコンソールでもファイルでも。 – Aliy

関連する問題