注意:
使用 Maven + SpringMVC
首先我们讲讲 logback 与 log4j 的关系
- log4j 是 apache 实现的一个开源日志组件
- logback 同样是由 log4j 的作者设计完成的,拥有更好的特性,用来取代log4j 的一个日志框架。
模块划分
logback-core |
---|
logback的核心模块 |
logback-classic |
它是 log4j 的一个改良版本,同时它完整实现了 slf4j API 使你可以很方便地更换成其它日志系统如 log4j 或 JDK14 Logging |
logback-access |
访问模块与 Servlet 容器集成提供通过 Http 来访问日志的功能 |
logback 是 log4j 的优化版,它的优点我们稍微举例一下,
1. 更快的执行速度: 基于我们先前在 log4j 上的工作,logback 重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快上10倍。在保证logback的组件更加快速的同时,同时所需的内存更加少。
2. logback-classic 非常自然的实现了 SLF4J:logback-classic中的 longging 类自然的实现了 SLF4J。当你使用 logback-classic 作为底层实现时,涉及到 LF4J日记系统的问题你完全不需要考虑。更进一步来说,由于 logback-classic 强烈建议使用 SLF4J 作为客户端日记系统实现,如果需要切换到 log4j 或者其他,你只需要替换一个 jar 包即可,不需要去改变那些通过SLF4J API 实现的代码。这可以大大减少更换日记系统的工作量
整合
首先引入依赖
1. pom.xml
Pom.xml 在 SpringMVC 基本依赖之上需要加入的依赖如下:
<!-- logback日志配置开始 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.logback-extensions</groupId>
<artifactId>logback-ext-spring</artifactId>
<version>0.1.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<!-- logback日志配置结束 -->
2. web.xml
<!-- 此配置是用来如果 logback 配置文件不是叫 logback.xml 且不再classpath目录下
<context-param>
<param-name>logbackConfigLocation</param-name>
<param-value>
classpath*:logback.xml
</param-value>
</context-param>
<listener>
<listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
</listener>
-->
logback 会自动去查找 classpath 下的文件名叫 logback.xml 的文件
ch.qos.logback.classic.util.ContextInitializer
源码如下:
3. logback.xml 简单示例,如需更加详细的请网上查找 logback 配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!-- 控制台打印 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="utf-8">
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<!-- Spring日志 -->
<logger name="org.springframework" level="INFO"/>
<logger name="com.zaxxer.hikari" level="INFO"/>
<logger name="com.iot" level="INFO"/>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
</configuration>
正常启动就ok了
- 本文链接: http://maltose.top/archives/springmvc-logback
- 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!