【问题标题】:log4j.properties not reading in all appenderslog4j.properties 未读取所有附加程序
【发布时间】:2014-07-07 19:47:45
【问题描述】:

我有一个 log4j.properties,里面有多个 appender。设置 -Dlog4j.debug 后,我看到以下输出

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。然后我收到了

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

我已确保 commons-logging 不在我的类路径中,并且我的类路径中有 jcl-over-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

【问题讨论】:

    标签: java spring maven log4j slf4j


    【解决方案1】:

    你有:

    # 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
    

    【讨论】:

      猜你喜欢
      • 2012-06-24
      • 2017-10-26
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      相关资源
      最近更新 更多