spring - 如何为 Tomcat 设置 Spring 日志

标签 spring spring-mvc log4j

在 Spring MVC 上工作并且没有 Spring 日志使得调试变得困难。我已经阅读了一些关于这个问题的其他文章,但似乎没有一篇文章对我有帮助。log4j.properties 位于 src 文件夹中。 slf4j-api-1.5.11slf4j-log4j12-1.5.11slf4j-simple-1.5.11commons-logging-1.1.jarlog4j-1.2.16.jar 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 日志。

Note: Using Spring 3.1

最佳答案

删除 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>

关于spring - 如何为 Tomcat 设置 Spring 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18186722/

相关文章:

java - 设置 session 变量spring mvc 3

java - Eclipse Neon.2 : Unable to add Gradle Buildship 中的 Spring 启动器插件问题

java - Spring MVC session 属性初始设置

java - 如何将 apache commons cli 与 log4j 一起使用?

java - log4j在多个包中的访问

java - SLF4J 桥接所需的配置文件

spring - 使用 JHipster Spring Config Server 拒绝访问

java - 如何在 Spring Boot 中为嵌入式 Jetty 设置 Handler?

java - 请求参数的存在应评估为真

java - 使用 spring Rest 以自定义格式显示 json