Erlo

Spring Boot 整合 Logback 日志

2023-03-01 01:30:13 发布   78 浏览  
页面报错/反馈
收藏 1 赞

Spring Boot 支持 Java Util Logging,Log4J,Log4J2 和 Logback 等日志框架,默认采用 Logback 日志。

在实际 Spring Boot 项目中使用 Spring Boot 默认日志配置是不能够满足实际生产及开发需求的,需要选定适合的日志输出框架,灵活调整日志输出级别、日志输出格式等。

此处主要讲述如何进行 Spring Boot 项目的 Logback 默认日志详细配置。

强烈建议使用默认的 Logback 日志配置,因为它比 log4j 性能好很多!

  1. Spring Boot 自动整合了 logback 和 log4j2,所以无需引入相关依赖。

  2. 在 resources 目录下,新建日志配置文件 logback-spring.xml

    首先,官方推荐使用的 xml 名字的格式为:logback-spring.xml 而不是 logback.xml,至于为什么,因为带 spring 后缀的可以使用 这个标签(PS:这个标签用于切换“开发环境”和“生产环境”)。

    下面配置可看情况自行修改!

    本文配置参考:传送门

    
    
    
        
        
            
            true
            
                
                logs/%d{yyyy-MM-dd}/springboot_%i.log
                30
                
                    10MB
                
            
            
                
                %date %level [%thread] %logger{10}.%class{0}#%method[%file:%line] %n%msg%n
                utf-8
            
        
    
        
            true
            
                logs/%d{yyyy-MM-dd}/springboot-error_%i.log
                30
                
                    10MB
                
            
            
                %date %level [%thread] %logger{10}.%class{0}#%method[%file:%line] %n%msg%n
                utf-8
            
            
            
                ERROR
                ACCEPT
                DENY
            
        
    
        
        
            
                %date %level [%thread] %logger{10}.%class{0}#%method[%file:%line] %n%msg%n
            
        
    
        
        
            
            
            
        
    
        
        
    
    
  3. 两种方式使用日志:

    1. 直接在需要使用日志打印的类上添加 lombok 的注解 @Slf4j 即可!

      PS:注意需要添加 Lombok 依赖!

      
      
          org.projectlombok
          lombok
          true
      
      

      示例:

      @SpringBootTest
      @Slf4j
      class RedisMysqlDemoApplicationTests {
      
          @Test
          void contextLoads() {
      
              // 日志级别从低到高分为 TRACE 
    2. 声明日志类

      PS:注意 LoggerLoggerFactory 导的哪个包!

      import org.junit.jupiter.api.Test;
      import org.slf4j.Logger;
      import org.slf4j.LoggerFactory;
      import org.springframework.boot.test.context.SpringBootTest;
      
      @SpringBootTest
      class RedisMysqlDemoApplicationTests {
      
          private static final Logger log = LoggerFactory.getLogger(RedisMysqlDemoApplicationTests.class);
      
          @Test
          void contextLoads() {
      
              // 日志级别从低到高分为 TRACE 

都看到最后了,右下角来个赞鸭!-.- 欢迎评论留言~

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认