/ JavaでLog4jを使用して自分のプロジェクトログのみを記録できない - java、logging、log4j

JavaでLog4jを使用して自分のプロジェクトログのみを記録できない - java、logging、log4j

これは私のlog4j.propertiesファイルです。

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

これはフレームワークなどに関連するたくさんのログを読み込んでいます。

私は置くことを試みた

log4j.rootLogger=DEBUG only to load only my logs.

自分のプロジェクトログのみをログファイルに含めるようにします。どこを変える必要がありますか?

私のステートメントをログに記録する方法は

private Logger logger = Logger.getLogger(MyClass.class);

logger.debug("bla bla");

回答:

回答№1は0

設定する必要があります logger アプリケーションパッケージ名に従って。

アプリケーションパッケージの名前が test.example それからあなたの中に以下の行を追加してください log4j.properties -

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

それはに存在するクラスでデバッグログを有効にします test.example サブパッケージと同様にパッケージ。

フレームワーク関連のログを削除するには、 rootLogger ログレベル ERROR または WARN -

log4j.rootLogger=ERROR, stdout, file

フレームワーククラスまたは上記のパッケージに存在しないクラスに関連するエラーのみが表示されます。 test.example そしてそのサブパッケージ。


回答№2の場合は-1

上記に完全なプロパティファイルを追加する

log4j.logger.com.myproject=DEBUG,myproject

# Root logger option
log4j.rootLogger=DEBUG,root
log4j.appender.root=org.apache.log4j.DailyRollingFileAppender
log4j.appender.root.File=${catalina.home}/logs/root.log
log4j.appender.root.DatePattern="."yyyy-MM-dd
log4j.appender.root.layout=org.apache.log4j.PatternLayout
log4j.appender.root.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%M - %m%n
log4j.appender.root.Threshold=INFO

# My logger option
log4j.appender.myproject=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myproject.File=${catalina.home}/logs/myproject.log
log4j.appender.myproject.DatePattern="."yyyy-MM-dd
log4j.appender.myproject.layout=org.apache.log4j.PatternLayout
log4j.appender.myproject.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -%M - %m%n
log4j.appender.myproject.Threshold=DEBUG

# to not add myproject log to root loggger
log4j.additivity.com.myproject=false