用于Spring DependencyInjectionTestExecutionListener的Log4j追加器

问题描述

|| 对于我的一个应用程序,我遇到了spring3的log4j和附加器的问题。 确切的错误警告消息是\“ log4j:WARN找不到记录器的附加程序(org.springframework.test.context.support.DependencyInjectionTestExecutionListener)。 log4j:WARN请正确初始化log4j系统。 我阅读了有关使用log4j配置spring的信息,但克服该问题没有任何成功。通过log4j的日志正在运行,但是带有该WARN消息。 这是我的log4j和spring的pom配置-这是相当长的配置。
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>com.springsource.slf4j.api</artifactId>
    <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>com.springsource.slf4j.org.apache.commons.logging</artifactId>
    <version>${slf4j.version}</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>com.springsource.slf4j.log4j</artifactId>
    <version>${slf4j.version}</version>
    <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>${slf4j.version}</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>jcl-over-slf4j</artifactId>
  <version>${slf4j.version}</version>
  <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.apache.log4j</groupId>
    <artifactId>com.springsource.org.apache.log4j</artifactId>
    <version>1.2.15</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.15</version>
    <exclusions>
       <exclusion>
         <groupId>javax.mail</groupId>
         <artifactId>mail</artifactId>
       </exclusion>
       <exclusion>
         <groupId>javax.jms</groupId>
         <artifactId>jms</artifactId>
       </exclusion>
       <exclusion>
         <groupId>com.sun.jdmk</groupId>
         <artifactId>jmxtools</artifactId>
       </exclusion>
       <exclusion>
         <groupId>com.sun.jmx</groupId>
         <artifactId>jmxri</artifactId>
       </exclusion>
     </exclusions>
     <scope>runtime</scope>
</dependency>
另外,我还有其他与日志记录相关的内容-排除了用于commons-logging的spring-core和spring-context。 这是web.xml配置:
<context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>classpath:meta-inf/properties/log4j.properties</param-value>
</context-param>

<listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
这是log4j.properties配置:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.rootLogger=DEBUG,stdout,R
log4j.appender.R.File=application.log
log4j.appender.R.MaxFileSize=700KB
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.logger.mongo=DEBUG,console
我正在寻找更多的信息源,在这里我可以找到一种解决方法。     

解决方法

        这是解决方案-感谢您的回答,有一个答案将我带向正确的方向,但似乎它已被作者删除。 解: 1.将log4.properties文件从src / main / resources / META-INF / properties / log4j.properties移到src / main / resources / log4j.properties 2.更改web.xml中的log4j配置
<context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>classpath*:log4j.properties</param-value>
</context-param>
问题已经解决了:)     ,        您是否尝试过将此配置行添加到log4j.properties中?
log4j.logger.org.springframework=DEBUG,console
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...