log 4 j繰返し出力


今日、プロジェクトでlog 4 jを使用する初期構成は以下の通りです.

### direct log messages to console ###
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %m (%F:%L) [%t]%n

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE

Debug情報を表示するために、
log4j.rootCategory=INFO, CONSOLE
に改心
log4j.rootCategory=DEBUG, CONSOLE
いいやつだ、大変だ、めちゃくちゃな情報が全部飛び出した(主にspringの)、自分のデバッグ情報を探すのは難しい.その後、プロファイルを変更し、後に行を追加します.

log4j.appender.cn.slsoft=DEBUG,CONSOLE

これでいいです.出力された情報はすべて自分が望んでいるので、ただ1つの情報が2回出力されて、少し憂鬱です.試しに
log4j.appender.cn.slsoft=DEBUG,CONSOLE
に改心
log4j.appender.cn.slsoft=DEBUG
本当に解決しました.
最終的な構成は次のようになります.

### direct log messages to console ###
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %m (%F:%L) [%t]%n

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
log4j.appender.cn.slsoft=DEBUG

(注:cn.slsoftはパッケージ名であり、logger.getLogger(this.getClass()を使用してlogを取得します.現在のクラスがパッケージcn.slsoftパッケージまたはその子孫パッケージにある場合は、この構成に従います).