2011-08-30 30 views
1

我有log4j記錄器,需要發送名爲「ThermoCommandLogger」的記錄器來分隔文件,沒有任何地方更多(不寫入輸出或標準文件)。我嘗試了以下配置,但記錄器調試消息不斷寫入根記錄器(雖然它有INFO級別):Log4j屬性爲單獨的appender

# 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 

感謝

回答

2

您需要設置「ThermoCommandLogger」記錄儀的相加爲「假「,這樣你就可以停止日誌消息流向記錄器鏈。你可以切換到xml配置文件,請參閱,例如,在這裏:log4j and weblogic: duplicate log messages,或者你可以嘗試:

log4j.additivity.ThermoCommandLogger=false 
+0

或者在XML:'<記錄器名稱= 「ThermoCommandLogger」 相加= 「假」>' – Esk