2012-09-27 81 views
0

如果我在应用程序中遇到任何异常,它将显示在eclipse控制台上。但该例外情况未显示在位于tomcat日志文件夹中的日志文件中。有什么我在这里失踪?为什么log4j没有在tomcat的日志中显示错误消息?

以下是我的完整log4j文件。

 <?xml version="1.0" encoding="UTF-8"?> 

    <!-- Document : log4j.xml Created on : Feb 23, 2012, 9:30 AM Author : meshash 
     Description: Purpose of the document follows. --> 

    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 

     <!-- ====================================================================== --> 
     <!-- A P P E N D E R S --> 
     <!-- ====================================================================== --> 

     <!-- console --> 
     <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender"> 
      <layout class="org.apache.log4j.PatternLayout"> 
       <param name="Threshold" value="INFO" /> 
       <param name="ConversionPattern" 
        value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* %c{1}: %M - %m - (%F, line %L)%n" /> 
      </layout> 
     </appender> 

     <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender"> 
      <!-- <param name="Threshold" value="INFO" /> --> 
      <param name="File" 
       value="C:/DEV_HOME/server/apache-tomcat-7.0.29/logs/headcount.log" /> 
      <param name="Append" value="true" /> 
      <param name="MaxFileSize" value="10MB" /> 
      <param name="MaxBackupIndex" value="10" /> 
      <layout class="org.apache.log4j.PatternLayout"> 
       <param name="ConversionPattern" 
        value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* %c{1}: %m (%F, line %L)%n" /> 
      </layout> 
     </appender> 

     <!-- ====================================================================== --> 
     <!-- L O G G E R S --> 
     <!-- ====================================================================== --> 

     <category name="org.springframework.jdbc.core.JdbcTemplate"> 
      <priority value="debug" /> 
     </category> 

     <root> 
      <level value="INFO" /> 
      <appender-ref ref="consoleAppender" /> 
      <appender-ref ref="fileAppender" /> 
     </root> 

    </log4j:configuration> 

回答

0

我认为你应该发布打印异常堆栈跟踪代码。
检查,如果你正在使用的不是e.printStackTrace();Logger.error("some message", e);

+0

e.printStackTrace();会不会被记录?那么像NullPointerException这样的运行时异常呢?即使NullPointerException不记录到日志文件。 – ashishjmeshram

+0

e.printStackTrace();将登录到System.err而不是log4j,除非您使用类似sysout-over-slf4j的方式重定向System.err – turtledove

0

保存此文件中的基本目录,

的src/com.yourproject.web ...然后:

的src /的log4j.xml

它的作品!

相关问题