【问题标题】:ERROR Could not find value for key log4j.appender.error during deploying on tomcat错误在 tomcat 上部署期间找不到键 log4j.appender.error 的值
【发布时间】:2015-12-22 00:08:42
【问题描述】:

如果我右键单击服务器并在服务器上运行,我的代码工作正常,但是当我尝试将它部署到 tomcat 并尝试运行它时,它给了我以下错误

log4j.properties 文件:

log4j.logger.Controller = INFO,error,stdout
log4j.logger.Client = INFO,error,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

错误:

log4j:ERROR Could not find value for key log4j.appender.error
log4j:ERROR Could not instantiate appender named "error".
log4j:ERROR Could not find value for key log4j.appender.error
log4j:ERROR Could not instantiate appender named "error".
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

pom.xml:

<groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.5</version>
        </dependency>
<dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.3</version>
        </dependency>
<dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>

【问题讨论】:

  • 这个文件在你的类路径中吗
  • 如果你展示了完整的 log4j.properties 文件,确实没有 appender errordefined。
  • 是的,我已经展示了完整的日志文件,但我没有得到你想说的,你能解释一下

标签: java maven tomcat


【解决方案1】:

问题出在这两行:

log4j.logger.Controller = INFO,error,stdout
log4j.logger.Client = INFO,error,stdout

您只能将一个记录器级别指定为第一个参数(在本例中为 INFO),然后接下来的两个参数将被视为用于该记录器的附加程序名称(在本例中为错误和标准输出)。因为不存在名为错误的附加程序,所以您会收到您报告的错误。

查看这个 (https://logging.apache.org/log4j/1.2/manual.html),它显示了一个将记录器分配给两个不同的附加程序的示例,这些附加程序看起来很像您的代码。希望这将有助于解释为什么 log4j 在您的应用程序中寻找名为 error 的附加程序。

这是另一个使用多个附加程序的配置文件。

log4j.rootLogger=调试、标准输出、R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB

log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

【讨论】:

    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多