概述
用来记录程序运行过程中的信息,并可以进行永久存储
特点
- 可以将系统执行的信息,方便的记录到指定的位置(控制台、文件中、数据库中)
- 可以随时以开关的形式控制是日志的记录和取消,无需进入到源代码中去进行修改;
Logback
官网:
https://logback.qos.ch/index.html
http://www.slf4j.org/
模块
Logback日志框架分为以下模块
logback-core: 该模块为其他两个模块提供基础代码。(必须有)
logback-classic: 完整实现了slf4j API的模块。(必须有)
logback-access: 与 Tomcat 和 Jetty 等 Servlet 容器集成,以提供 HTTP 访问日志功能。
依赖
spring-boot-starter其中包含了 spring-boot-starter-logging,该依赖内容就是 Spring Boot 默认的日志框架 Logback+SLF4J。
而 spring-boot-starter-web 包含了spring-boot-starte,所以我们只需要引入web组件即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
三、logback-spring.xml详解
Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,将xml放至 src/main/resource下面。
<configuration >
<!-- 控制台 Appender -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd} [%thread] %-5level %logger{36} - %X{requestId} - %msg%n</pattern>
</encoder>
</appender>
<!-- 文件 Appender -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/app.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app-%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<maxHistory>30</maxHistory> <!– 保留 30 天 –>
</rollingPolicy>
</appender>
<!-- 异步文件 Appender -->
<appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="FILE"/>
</appender>
<!-- 根日志配置 -->
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
<appender-ref ref="ASYNC_FILE"/>
</root>
<logger name="chapters.configuration" level="INFO"/>
</configuration>