SpringBoot+Logback 日志框架


概述

用来记录程序运行过程中的信息,并可以进行永久存储

特点

  1. 可以将系统执行的信息,方便的记录到指定的位置(控制台、文件中、数据库中)
  2. 可以随时以开关的形式控制是日志的记录和取消,无需进入到源代码中去进行修改;

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> &lt;!&ndash; 保留 30 天 &ndash;&gt;
       </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>

文章作者: zrh
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zrh !
  目录