1

私はlog4jロガーを持っており、「ThermoCommandLogger」という名前のロガーを別のファイルに送信する必要があります(出力ファイルや標準ファイルに書き込まないでください)。次の構成を試しましたが、ロガーのデバッグメッセージがルートロガーに書き込み続けます(INFOレベルはありますが)。

# Root logger
log4j.rootLogger=INFO, out, osgi:VmLogAppender

# File appender
log4j.appender.out=org.apache.log4j.RollingFileAppender
log4j.appender.out.layout=org.apache.log4j.PatternLayout
log4j.appender.out.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %-        32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
log4j.appender.out.file=${karaf.data}/log/servicemix.log
log4j.appender.out.append=true
log4j.appender.out.maxFileSize=10MB
log4j.appender.out.maxBackupIndex=10


#DRF appender
log4j.appender.drf=org.apache.log4j.RollingFileAppender
log4j.appender.drf.layout=org.apache.log4j.PatternLayout
log4j.appender.drf.layout.ConversionPattern=%d{ABSOLUTE} | %m%n
log4j.appender.drf.file=${karaf.data}/log/drfx.log
log4j.appender.drf.append=true   


#Log thermo commands to separate file
log4j.logger.ThermoCommandLogger=DEBUG, drf

ありがとう

4

1 に答える 1

2

「ThermoCommandLogger」ロガーの加法性を「false」に設定する必要があります。これにより、ロガー チェーンを下るログ メッセージの流れが停止します。xml 構成ファイルに切り替えることができます。たとえば、こちら: log4j and weblogic: duplicate log messagesを参照するか、以下を試すことができます。

log4j.additivity.ThermoCommandLogger=false
于 2011-08-30T10:07:38.760 に答える