Commons日志记录仍然登录tomcat日志而不是log4j文件

时间:2018-05-09 17:45:24

标签: java spring log4j tomcat8 apache-commons

  

我在整个基于Spring的项目中使用了apache commons   它在文件tomcat8-stdout.log中记录所有级别   成功。但是,配置log4j监听器后   configuration.xml它仍然在tomcat8-stdout.log文件下记录   而不是log4j配置文件。

     
      
  • 进口:
  •   
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

private static Log log = LogFactory.getLog(CLASS_NAME.class);
  
      
  • Web.xml中
  •   
<listener>  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>

<context-param>     <param-name>log4jConfigLocation</param-name>    <param-value>classpath:resources/log4j.xml</param-value> </context-param>
  
      
  • 的log4j.xml
  •   
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
    <appender name="FILE_APPENDER" class="org.apache.log4j.RollingFileAppender">
        <param name="Append" value="true" />
        <param name="File" value="${catalina.home}/logs/APP.log" />
        <!-- roll over every day at midnight -->
        <param name="MaxFileSize" value="10MB" />
        <param name="MaxBackupIndex" value="5" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd HH:mm:ss} %c{1}:%L [%t] %x [%p] %m%n" />
        </layout>       
    </appender>     
    <root>
        <priority value="ALL" />
        <appender-ref ref="FILE_APPENDER" />
    </root>
    <appender name="CONSOLE_APPENDER" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd HH:mm:ss} %c{1}:%L [%t] %x [%p] %m%n" />
        </layout>
    </appender>
    <logger name="org.apache.catalina.webresources.Cache" level="DEBUG"/>
</log4j:configuration>
  
      
  • 在tomcat日志下生成的日志:
  •   
tomcat8-stdout.2018-05-09.log          size: 671kb

APP.log                                size: 0kb
  

我找到的解决方案之一是更改导入   公共到log4j,但由于某种原因这是不可能的。我需要一切   在APP.log文件下生成日志并按照配置进行配置   的log4j.xml。

     

公共日志记录是否有办法遵循log4j配置?任何   配置缺失?

0 个答案:

没有答案