Приложения Log4j для spring DependencyInjectionTestExecutionListener

#java #spring #logging #spring-mvc #log4j

#java — язык #spring #ведение журнала #spring-mvc #log4j ( лог4j ) #java #log4j

Вопрос:

для одного из моих приложений у меня проблема с log4j и приложениями для spring 3. Точное сообщение с предупреждением об ошибке — «log4j: ПРЕДУПРЕЖДЕНИЕ Не удалось найти приложения для logger (org.springframework.test.context.support.DependencyInjectionTestExecutionListener). log4j: ПРЕДУПРЕЖДЕНИЕ, пожалуйста, правильно инициализируйте систему log4j.».

Я прочитал информацию о конфигурации spring с log4j, но у меня нет никаких успехов в преодолении этой проблемы. Регистрация через log4j работает, но с этим предупреждающим сообщением.

Это моя конфигурация pom для log4j и spring — это довольно длинная конфигурация.

 <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 -протоколирование для 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:

И вот решение — спасибо за ответы, был один ответ, который привел меня в правильном направлении, но, похоже, он удален автором.

Решение: 1. Переместите файл log4.properties из src/main/resources/META-INF/properties/log4j.properties в src/main/resources/log4j.properties 2. Измените конфигурацию log4j в web.xml

 <context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>classpath*:log4j.properties</param-value>
</context-param>
  

И проблема устранена 🙂

Ответ №2:

Вы пытались добавить эту строку конфигурации в log4j.properties?

 log4j.logger.org.springframework=DEBUG,console
  

Комментарии:

1. Спасибо за ваш ответ — да, я добавил это, но ПРЕДУПРЕЖДЕНИЕ остается. Я продолжаю копать…