用logback实现日志打印

116 阅读1分钟

前言:

在项目中,日志打印是必不可少的,logback作为springboot内置的日志框架,本文我们将在项目中使用Logback实现日志打印。

一. 依赖导入

maven中添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
</dependency>

但是在实际开发中我们不需要直接添加依赖,因为spring-boot-starter中包含了 spring-boot-starter-logging,该依赖内容就是 Spring Boot 默认的日志框架 Logback+SLF4J。而 spring-boot-starter-web 包含了spring-boot-starter,所以我们只需要引入web组件即可:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

二. 使用日志

2.1 配置文件编写

在resource目录下编写一个logback-spring.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="LOG_PATH" value="../logs" />
    <!--        创建将日志打印到控制台对象-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
<!--        日志打印的规则-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) --- [%15.15(%thread)] %cyan(%-40.40(%logger{40})) : %msg%n</pattern>
        </encoder>
    </appender>
   <!--        创建将日志打印到文件持久化保存对象-->
    <appender name="file"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH}/log_%d{yyyy-MM-dd}.log</fileNamePattern>
<!--            最长保存30天-->
            <maxHistory>30</maxHistory>
        </rollingPolicy>

        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %F:%L - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
<!--    保存到文件中的日志输出级别-->
    <root level="INFO">
        <appender-ref ref="file" />
    </root>
<!--    打印到控制台中的日志输出级别-->
    <root level="INFO">
        <appender-ref ref="console" />
    </root>
</configuration>

2.2. 启动项目

设置的日志规则就可以直接使用了。