2013-04-29 2 views
0

서블릿에 기본 로그 파일과 함께 두 번째 로그 파일을 사용하려고합니다. 이 log4j.xml 구성이 있습니다.log4j : WARN 로거에 대한 애펜더를 찾을 수 없습니다

<?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> 

이제 서블릿에서 나는이 같은 로거 설정 :

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은 클래스 패스 내가 잘못 여기합니까 무엇 에?

답변

0

같은 오류가 발생했습니다. -Dlog4j.debug java 옵션을 사용하여 Java 프로그램을 실행 해보시겠습니까? 그것은 무엇이 실패하고 있는지에 대해 약간의 통찰력을 줄 것이고 당신은 그때 그것을 해결할 수있을 것입니다.

관련 문제