2014-07-07 31 views
0

我有一个log4j.properties中有多个appender。与-Dlog4j.debug集,我看到下面的输出log4j.properties没有在所有appenders中读取

log4j: Using URL [jar:file:/opt/local/blah/brian/vfabric-tc-server-developer-2.9.5.SR1/TCInstance-A/lib/Command-service-0.0.10-SNAPSHOT-dev1.jar!/log4j.properties] for automatic log4j configuration. 
log4j: Reading configuration from URL jar:file:/opt/local/blah/brian/vfabric-tc-server-developer-2.9.5.SR1/TCInstance-A/lib/Command-service-0.0.10-SNAPSHOT-dev1.jar!/log4j.properties 
log4j: Parsing for [root] with value=[INFO]. 
log4j: Level token is [INFO]. 
log4j: Category root set to INFO 
log4j: Parsing for [ItOpsLogger] with value=[INFO, ITOPSLOG]. 
log4j: Level token is [INFO]. 
log4j: Category ItOpsLogger set to INFO 
log4j: Parsing appender named "ITOPSLOG". 
log4j: Parsing layout options for "ITOPSLOG". 
log4j: Setting property [conversionPattern] to [[%d{yyyy/MM/dd HH:mm:ss.SSS}][%p][][][%h][%m]%n]. 
log4j: End of parsing for "ITOPSLOG". 
log4j: Setting property [file] to [~/tmpAlertFiles]. 
log4j: Setting property [maxFileSize] to [1MB]. 
log4j: Setting property [threshold] to [INFO]. 
log4j: Setting property [maxBackupIndex] to [2]. 
log4j: setFile called: ~/tmpAlertFiles, true 
log4j: setFile ended 
log4j: Parsed "ITOPSLOG" options. 
log4j: Handling log4j.additivity.ItOpsLogger=[null] 
log4j: Finished configuring. 
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

正如你看到的,唯一的输出如果ITOPSLOG尽管有其他的appender在那里我我看到。然后我收到

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext). 

我已经确定了共享记录是不是我的类路径中,我有JCL-过SLF4J,SLF4J的API,SLF4J和log4j的在我的类路径。

这是我的log4j.properties。有任何想法吗?

# 
# Simple log4j configuration. 
# 
log4j.rootCategory=INFO 

# Console appender 
log4j.appender.console=org.apache.log4j.ConsoleAppender 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%d{HH:mm:ss,SSS} %5p [%t] %25.25c{1} - %m\n 

# Rolling File Appender 
log4j.appender.FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.FILE.File=${catalina.base}/logs/command_service.${tomcat.host}.log 
log4j.appender.FILE.append=true 
log4j.appender.FILE.maxBackupIndex=10 
log4j.appender.FILE.maxFileSize=100MB 
log4j.appender.FILE.bufferedIO=false 
log4j.appender.FILE.bufferSize=1 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=%d{MM/dd/yyyy HH\:mm\:ss,SSS} %5p [%t] %c{1} - %m\n 

# DailyRollingFileAppender 
log4j.appender.DAILY=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.DAILY.DatePattern='.'yyyy-MM-dd 
log4j.appender.DAILY.file=${catalina.base}/logs/command_service.${tomcat.host}.log 
log4j.appender.DAILY.append=true 
log4j.appender.DAILY.bufferedIO=false 
log4j.appender.DAILY.bufferSize=3 
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout 
log4j.appender.DAILY.layout.ConversionPattern=%d{MM-dd-yyyy HH:mm:ss,SSS} %c{1}.%M %-5p [%t] - %m%n 

# ITOPS Alert Appender 
log4j.category.ItOpsLogger=INFO, ITOPSLOG 
log4j.appender.ITOPSLOG=org.apache.log4j.RollingFileAppender 
log4j.appender.ITOPSLOG.File=${tomcat.alertLogFile} 
log4j.appender.ITOPSLOG.threshold=INFO 
log4j.appender.ITOPSLOG.MaxFileSize=1MB 
log4j.appender.ITOPSLOG.MaxBackupIndex=2 
log4j.appender.ITOPSLOG.layout=com..brian.util.ItopsPatternLayout 
log4j.appender.ITOPSLOG.layout.ConversionPattern=[%d{yyyy/MM/dd HH:mm:ss.SSS}][%p][blah][${tomcat.name}][%h][%m]%n 

回答

0

您有:

# NOTE THAT YOU HAVE SPECIFIED NO APPENDERS!!!! 
log4j.rootCategory=INFO 

所以在默认情况下你的日志将不使用任何附加目的地。 ITOPSLOG的作品,因为再往下已经指定

# This means: for category ItOpsLogger (and children), set INFO level by default 
# and append to ITOPSLOG 
log4j.category.ItOpsLogger=INFO, ITOPSLOG 

我猜你可能想使用类似:

# By default, set INFO level and append to FILE and DAILY 
log4j.rootCategory=INFO, FILE, DAILY