使用Spring MVC而没有Spring日志使得调试变得困难。我已经阅读了关于这个问题的其他几篇文章,似乎没有人帮助我。
log4j.properties
位于src
文件夹中。 slf4j-api-1.5.11
,slf4j-log4j12-1.5.11
,slf4j-simple-1.5.11
,commons-logging-1.1.jar
和log4j-1.2.16.jar
个罐子在类路径中。
Log4j的内容是:
log4j.rootLogger=INFO, console
# Console appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer
但我在控制台中看不到任何Spring日志。
注意:使用Spring 3.1
答案 0 :(得分:10)
删除commons-logging-1.1.jar
并添加jcl-over-slf4j-1.5.11.jar
,因为您需要所有日志记录调用都通过slf4j然后由log4j处理。
此外,您需要在log4j.properties中为spring添加记录器,如下所示。 log4j.properties需要以tomcat/webapps/<application>/WEB-INF/classes
结束。
#Spring Framework
log4j.logger.org.springframework=INFO
log4j.logger.org.springframework.oxm=INFO
log4j.logger.org.springframework.transaction=WARN
Maven依赖项需要包含类似于以下的条目(取自Using SLF4J部分)
请注意排除commons-logging
并包含jcl-over-slf4j
。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.2.RELEASE</version>
<scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>runtime</scope>
</dependency>
答案 1 :(得分:0)
添加此...
log4j.appender.stdout.Target=System.out
同时将console
更改为stdout
。见例子
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
答案 2 :(得分:0)
当我将log4j.properties放到“src”文件夹时,我没有弹出日志和消息:
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
当我回到src / main / resources时 - 一切正常。似乎log4j.properties必须在部署后放在“classes”文件夹中。