Свойства Log4j для отдельного приложения - PullRequest
1 голос
/ 30 августа 2011

У меня есть регистратор 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

Спасибо

1 Ответ

2 голосов
/ 30 августа 2011

Вам необходимо установить аддитивность логгера «ThermoCommandLogger» в «false», таким образом вы остановите поток сообщений журнала по цепочке логгера.Вы можете переключиться на файл конфигурации xml, см., Например, здесь: log4j и weblogic: дублирующиеся сообщения журнала , или вы можете попробовать:

log4j.additivity.ThermoCommandLogger=false
...