spring 使用logback打印调试日志

时间:2022-11-27 20:43:13

spring默认使用ACL(Apache commons-logging.jar)打印日志,所以使用log4J是一种最方便的打印spring调试日志方式。若要使用logback的方式打印日志的话,需要注意以下几个方面。

1.在pom.xml文件中引入的spring模块中去掉commons-logging.jar的依赖,目前spring的好几个模块都用到了,大家可以通过先查一下依赖关系,需要打印那个模块的日志,就去掉那个模块对commons-logging.jar的依赖,举例如下:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>

2.必须引入的日志相关模块,其中jcl-over-slf4j模块是spring和其他日志模块衔接的桥梁,非常核心。

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>org.logback-extensions</groupId>
<artifactId>logback-ext-spring</artifactId>
<version>0.1.2</version>
<scope>compile</scope>
</dependency>
3.在web.xml中配置日志监听器,默认日志监听器读取的配置文件为classpath下的logback.xml文件,如果你不使用默认的文件可以参照以下

<context-param>
<param-name>logbackConfigLocation</param-name>
<param-value>WEB-INF/classes/logback-wap.xml</param-value>
</context-param>
<listener>
<listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
</listener>