【问题标题】:No name attribute provided for Appender AchLog issue with log4j2没有为 log4j2 的 Appender AchLog 问题提供名称属性
【发布时间】:2020-10-29 19:06:47
【问题描述】:

我最近将我的应用程序升级到 log4j2.13.3。下面是我的 log4j 属性文件:

appenders=AchLog,AchLog1

appender.AchLog.type = Console
appender.AchLog.name = AchLog
appender.AchLog.target = SYSTEM_OUT
appender.AchLog.layout.type = PatternLayout
appender.AchLog.layout.pattern =  %d{DEFAULT} (%c{1} %m%n

appender.AchLog1.type = RollingFile
appender.AchLog1.name = AchLog1
appender.AchLog1.fileName = /home/logs/ach_new.log
appender.AchLog1.filePattern =  /home/logs/ach_new.log.%d{yyyy-MM-dd}
appender.AchLog1.layout.type = PatternLayout
appender.AchLog1.layout.pattern = %d{DEFAULT} (%c{1} %m%n
appender.AchLog1.policies.type = Policies
appender.AchLog1.policies.time.type = TimeBasedTriggeringPolicy
appender.AchLog1.policies.time.interval = 1

loggers=AchLog1
logger.AchLog1.name=com.test.ach
logger.AchLog1.level = debug
logger.AchLog1.additivity = false
logger.AchLog1.appenderRef.AchLog1.ref = AchLog1


rootLogger.level = error
rootLogger.appenderRefs = AchLog
rootLogger.appenderRef.AchLog.ref = AchLog

我正在调用一个 sh 脚本。脚本如下:

/usr/java/jdk1.8.0_181/bin/java -cp /home/test/lib/commons-logging-1.1.3.jar:/home/test/lib/log4j-jcl-2.13.3.jar:/home/test/lib/commons-logging-api-1.1.jar:/home/test/lib/commons-codec-1.3.jar:/home/test/lib/log4j-api-2.13.3.jar:/home/test/lib/log4j-core-2.13.3.jar:/home/test/lib/achpoint.jar:/home/test/lib/activation-1.1.jar:/home/test/lib/jdom.jar:/home/test/lib/mail-1.4.jar:/home/test/lib/sqljdbc4.jar:/home/test/lib/poi-3.6-20091214.jar:/home/test/lib/commons-email-1.1.jar:/home/test/lib/utransfer-core.jar:/home/test/lib/commons-lang-3.1.jar:/home/test/lib/slf4j-api-1.7.25.jar:/home/test/lib/log4j-slf4j-impl-2.13.0.jar com.test.TestProcessor properties/test.properties

调用此 sh 文件时出现以下错误。请在下面找到错误。

Exception in thread "main" org.apache.logging.log4j.core.config.ConfigurationException: No name attribute provided for Appender AchLog
        at org.apache.logging.log4j.core.config.properties.PropertiesConfigurationBuilder.createAppender(PropertiesConfigurationBuilder.java:212)
        at org.apache.logging.log4j.core.config.properties.PropertiesConfigurationBuilder.build(PropertiesConfigurationBuilder.java:151)

错误表明 appender AchLog 没有 name 属性。但是我已经在属性文件中指定了它。谁能帮我找出问题。

【问题讨论】:

    标签: java logging log4j2 rollingfileappender


    【解决方案1】:

    这个答案可能来得有点晚 - 我遇到了类似的问题并以这种方式修复了它:
    那里:appender.AchLog.name = AchLog
    设置:appender.AchLog.name = AchLogAppender



    那里:rootLogger.appenderRef.AchLog.ref = AchLog
    设置:rootLogger.appenderRef.AchLog.ref = AchLogAppender

    这应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      • 2020-10-18
      • 2019-08-15
      • 2018-11-28
      • 1970-01-01
      相关资源
      最近更新 更多