2011-05-30 51 views
4

爲我的一個應用程序我有一個log4j和appenders春季3問題。 確切的錯誤警告消息是「log4j:警告沒有appender可以發現記錄器(org.springframework.test .context.support.DependencyInjectionTestExecutionListener)。 log4j:WARN請正確初始化log4j系統。「。Log4j appenders春天DependencyInjectionTestExecutionListener

我使用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> 

另外我還有一個日誌記錄相關 - 排除公共日誌記錄的彈簧核心和彈簧上下文。

這是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 

我正在尋找更多的信息源在哪裏可以找到辦法解決那。

回答

2

這裏是解決方案 - 謝謝你的迴應,有一個答案驅使我走向正確的方向,但它似乎被作者刪除。

解決方案: 1.將來自SRC /主/資源/ META-INF /屬性/ log4j.properties爲src /主/資源/ log4j.properties的log4.properties文件在網絡 2.更改log4j配置。 XML

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

而問題是固定的:)

0

你是否嘗試將此配置行添加到log4j.properties?

log4j.logger.org.springframework=DEBUG,console 
+0

謝謝您的回答 - 是的,我補充說,但WARN遺體。我繼續挖掘... – glg 2011-06-01 07:34:09