【问题标题】:log4j:WARN No appenders could be found for loggerlog4j:WARN 找不到记录器的附加程序
【发布时间】:2013-04-29 08:36:57
【问题描述】:

我尝试在 servlet 中将第二个日志文件与我的默认日志文件一起使用 我有这个 log4j.xml 配置。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" ERROR="false">


    <appender name="FILE_error" class="org.apache.log4j.RollingFileAppender"> 
    <param name="Threshold" value="DEBUG"/>   
        <param name="maxFileSize" value="10240KB" />
        <param name="maxBackupIndex" value="5" />    
        <param name="File" value="logs/engine.log"/>
        <param name="Append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} %t %-5p [%c{1}] %m%n "/>
        </layout>
    </appender>


     <appender name="CONSOLE_error" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out"/>
        <param name="Threshold" value="DEBUG"/>

        <layout class="org.apache.log4j.PatternLayout">           
            <param name="ConversionPattern" value="%d{ISO8601} %t %-5p [%c{1}] %m%n "/>
        </layout>
    </appender>

    <category name="errorLogger" additivity="false">
        <priority value="DEBUG"/>
        <appender-ref ref="CONSOLE_error"/>
        <appender-ref ref="FILE_error"/>
    </category>



    <appender name="FILE" class="org.apache.log4j.RollingFileAppender"> 
    <param name="Threshold" value="DEBUG"/>   
        <param name="maxFileSize" value="10240KB" />
        <param name="maxBackupIndex" value="5" />    
        <param name="File" value="logs/error_info.log"/>
        <param name="Append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} %t %-5p [%c{1}] %m%n "/>
        </layout>
    </appender>


    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out"/>
        <param name="Threshold" value="DEBUG"/>

        <layout class="org.apache.log4j.PatternLayout">           
            <param name="ConversionPattern" value="%d{ISO8601} %t %-5p [%c{1}] %m%n "/>
        </layout>
    </appender>

    <category name="com.foo" additivity="false">
        <priority value="DEBUG"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </category>

    <category name="org.apache" additivity="false">
        <priority value="DEBUG"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </category>

     <root>
        <priority value="DEBUG"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE_error"/>
        <appender-ref ref="FILE_error"/>
    </root>
</log4j:configuration>

现在在 servlet 中我这样设置记录器:

public class PaymentConfirmation extends HttpServlet implements Constants{
    private static final Logger errorLog= Logger.getLogger("errorLogger");

但是在运行时: errorLog.debug("启动应用"); 我得到了:

log4j:WARN No appenders could be found for logger (errorLogger).
log4j:WARN Please initialize the log4j system properly.

log4j 和 log4j.xml 在类路径中 我在这里做错了什么?

【问题讨论】:

    标签: java log4j


    【解决方案1】:

    我也遇到了同样的错误。您能否尝试使用 -Dlog4j.debug java 选项运行您的 java 程序。它将让您深入了解失败的原因,然后您就可以解决该问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 2012-09-13
      相关资源
      最近更新 更多