2013-01-11 6 views
0

Я настраиваю Log4J для использования нескольких приложений. Это работает нормально. Тем не менее, я хочу установить уровень журнала по умолчанию для одного приложения в DEBUG и ограничить ведение журнала для определенного класса INFO и выше. Что я придумал для работы с приложением FA, но не с приложениями DCSLOAD и DCSPROC. Что я делаю не так?Log4J - отключить ведение журнала для определенного класса - несколько приложений

# Set root logger level to DEBUG and its only appender to A1. 
log4j.rootLogger = CA, FA 

# CA is set to be a ConsoleAppender. 
log4j.appender.CA=org.apache.log4j.ConsoleAppender 

# CA uses PatternLayout. 
log4j.appender.CA.layout=org.apache.log4j.PatternLayout 
log4j.appender.CA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{3} %x - %m%n 

# FA uses PatternLayout. 
log4j.appender.FA=org.apache.log4j.RollingFileAppender 
log4j.appender.FA.File=${catalina.base}/logs/dcs.log 
log4j.appender.FA.layout=org.apache.log4j.PatternLayout 
log4j.appender.FA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{3} %x - %m%n 
log4j.appender.FA.MaxFileSize=1024KB 
log4j.appender.FA.MaxBackupIndex=100 

# DCSPROC, DCSLOAD and DCSDB are all File Appenders to different targets 
log4j.appender.DCSPROC=org.apache.log4j.RollingFileAppender 
log4j.appender.DCSPROC.File=${catalina.base}/logs/dcs_process.log 
log4j.appender.DCSPROC.layout=org.apache.log4j.PatternLayout 
log4j.appender.DCSPROC.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{3} %x - %m%n 
log4j.appender.DCSPROC.MaxFileSize=1024KB 
log4j.appender.DCSPROC.MaxBackupIndex=100 

log4j.appender.DCSLOAD=org.apache.log4j.RollingFileAppender 
log4j.appender.DCSLOAD.File=${catalina.base}/logs/dcs_business.log 
log4j.appender.DCSLOAD.layout=org.apache.log4j.PatternLayout 
log4j.appender.DCSLOAD.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{3} %x - %m%n 
log4j.appender.DCSLOAD.MaxFileSize=1024KB 
log4j.appender.DCSLOAD.MaxBackupIndex=100 

log4j.appender.DCSDB=org.apache.log4j.RollingFileAppender 
log4j.appender.DCSDB.File=${catalina.base}/logs/dcs_database.log 
log4j.appender.DCSDB.layout=org.apache.log4j.PatternLayout 
log4j.appender.DCSDB.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{3} %x - %m%n 
log4j.appender.DCSDB.MaxFileSize=1024KB 
log4j.appender.DCSDB.MaxBackupIndex=100 

# set default logging level for outputs 
log4j.logger.CA = DEBUG 
log4j.logger.FA = DEBUG 

log4j.logger.DCSDB = DEBUG, DCSDB 
log4j.logger.DCSPROC = DEBUG, DCSPROC 
log4j.logger.DCSLOAD = DEBUG, DCSLOAD 

log4j.additivity.DCSDB=false 
log4j.additivity.DCSPROC=false 
log4j.additivity.DCSLOAD=false 

#This works 
log4j.logger.LoginServlet=INFO, FA 

#These two do not 
log4j.logger.LoginServlet=INFO, DCSLOAD 
log4j.logger.LoginServlet=INFO, DCSPROC 
+0

Хорошо, я понимаю, что мне нужно делать. Я изменил мою отладку на уровне класса только на это, и теперь он работает сейчас: log4j.logger.LoginServlet = DEBUG –

ответ

0

изменить эти:

log4j.logger.DCSDB = DEBUG, DCSDB 
    log4j.logger.DCSPROC = DEBUG, DCSPROC 
    log4j.logger.DCSLOAD = DEBUG, DCSLOAD 

в

log4j.logger.DCSDB = DEBUG 
    log4j.logger.DCSPROC = DEBUG 
    log4j.logger.DCSLOAD = DEBUG 
+0

Я сделал это изменение и отключил ведение журнала DEBUG для всех приложений. Однако, когда я изменяю уровень журнала для класса LoginServlet для DEBUG во всех трех местах, я получаю отладку только для приложения FA, а не для DCSLOAD или DCSPROC. –

+0

Если вы хотите определить несколько приложений для одного регистратора, вам необходимо определить: log4j.logger.LoginServlet = INFO, FA, DCSLOAD, DCSPROC –

Смежные вопросы