Spring boot 使用logback进行日志管理

前言

在Spring Boot 中,日志一般使用slf4j+logback的组合,slf4j是一个日志接口,而logback则是一种具体实现。 Spring Boot中内置了logback,所以我们直接使用即可。

进入pom.xml文件,右键->Maven->show Dependencies 可以看到Spring Boot 相关的依赖关系。
在这里插入图片描述

初步使用logback

只需要通过LoggerFactory类获取logger对象即可使用。

@RestController
public class IndexController {
    private Logger  logger= LoggerFactory.getLogger(getClass());

    @RequestMapping("logging")
    public String index()
    {
        logger.info("这是一条info");
        logger.error("这是一条error");
        logger.debug("这是一条debug");
        logger.warn("这是一条warn");
        return "index";
    }
    
}

http://localhost:8080/logging进行访问,查看打印信息
在这里插入图片描述
可以看到并没有打印出来debug level级别的日志信息。其实在logback中,默认是打印debug级别的日志的,但是Spring Boot给我们自动装配了相关配置。

当然,与其他的依赖一样,假如我们不满意Springboot的一些配置,我们可以自己去配置。

在application.properties中配置logback

logging.level.org.springframework.web=INFO
logging.level.com.example.springbootlogback.IndexController=DEBUG
logging.file=logs/spring-boot-logging.log

我们指定了日志级别为debug,所以可以输出debug级别的信息。
在这里插入图片描述
同时,我们还指定了日志文件存放的位置,日志将会自动打印到相关目录,生成.log文件
在这里插入图片描述

在xml文件中配置logback

尽管我们前面可以在application.properties文件中对logback进行自定义配置,但是过于多的依赖配置,可能会导致该文件过于庞大。

Spring Boot允许我们在资源目录创建一个logback-spring.xml的配置文件来配置logback,当然你也可以通过创建一个别名配置文件,但是需要在application.properties中通过指定logging-config来指定你这个别名配置文件。

我们还是使用官方推荐的命名logback-spring.xml
在这里插入图片描述
配置如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <logger name="com.example.springbootlogback.IndexController" level="DEBUG" additivity="false">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </logger>
</configuration>

我们引入了base.xml,这个xml文件其实就是Spring Boot的默认配置。我们要做的就是在默认配置的基础上进行自定义配置,指定IndexController的级别是DEBUG

我们将application.properties中的配置删掉,再次测试http://localhost:8080/logging,可以看到,DEBUG级别的日志信息可以被打印出来。

发布了243 篇原创文章 · 获赞 106 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_43889841/article/details/104232418