SpringBoot日志级别与日志分组详解

 更新时间:2025年08月29日 14:24:55   作者:天天开心a  
文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或特定类的日志级别,并展示了日志调试技巧和分组配置方法,感兴趣的朋友跟随小编一起看看吧

日志级别

1、级别内容

  • 从低到高:ALL、TRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFF
    • ALL打印 所有日志
    • TRACE:追踪框架详细流程日志,一般不使用,记录运行到哪一步了
    • DEBUG:开发调试的细节日志
    • INFO:关键、感兴趣消息日志
    • WARN:警告,但不是错误信息,如版本过时等。
    • 从 ERROR 开始包括 ERROR 再往上(从低到高)就是出现错误(导致程序运行不了)的日志了。
    • ERROR:业务错误日志
    • FATAL:致命错误日志
    • OFF关闭 所有日志记录
  • 只会打印指定级别及以上(从低到高)级别的日志,验证演示(打印TRACEERROR,这是开发期间常用的4个日志类型)如下:
    • 要使用log得先导入lombok.extern.slf4j.Slf4j,并在开头添加@Slf4j(直接添加@Slf4j会自动导入lombok.extern.slf4j.Slf4j

编写如下代码:

package com.atwyb.logging.com.atwyb.logging.controller;
//package自己的cotroller包路径
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class HelloController {
    @GetMapping("/h")
    public String hello(){
        log.trace("trace 日志");
        log.debug("debug 日志");
        log.info("info 日志");
        log.warn("warn 日志");
        log.error("error 日志");
       return "hello";
    }
}

启动程序,访问/h后观察到控制台,发现只打印了INFO及以上的日志,因为SpringBoot 默认的日志级别为INFO,所以不打印TRACE、DEBUG

2、调整日志级别

调整默认日志级别

在SpringBoot中,可以精确调整某一个类的级别。
若不调整,所有类都会使用application.propertiselogging.level.root指定的日志级别,如图所示。

logging.level.root调整为debug后,运行访问/h后,显示日志为debug,如下图。

调整指定类的日志级别

修改logging.level.*(*为所要修改的包名及路径)即可,修改为warn,如下图。

验证,运行项目观察控制台,发现指定包的日志只显示warn及以后的了,其它没调整的都是默认日志等级(前面修改为了debug)。

项目开发过程中,利用日志来测试的小技巧

在项目开发测试过程中,利用常用的log.info,对参数进行验证。
日志相比于直接在控制台输出,可以用以下格式

log.info("info 日志   参数A:{}  参数B:{}",A,B);

修改前面的代码:

package com.atwyb.logging.com.atwyb.logging.controller;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class HelloController {
    @GetMapping("/h")
    public String hello(String A,String B){
        log.trace("trace 日志");
        log.debug("debug 日志");
        log.info("info 日志   参数A:{}  参数B:{}",A,B);
        log.warn("warn 日志");
        log.error("error 日志");
       return "hello";
    }
}

启动服务器后,访问http://localhost:8080/h?A=1&B=2,传输A、B参数值后,在控制台可以看得到info信息中带有A、B的值。

日志分组

在有多个包需要指定日志类型时,可以通过分组快速指定。

比如需要指定以下类都为debug

logging.level.com.a=debug
logging.level.com.b=debug
logging.level.com.c=debug
logging.level.com.d=debug

可以用以下形式替代

logging.group.abc=com.a,com.b,com.c,com.d
logging.level.abc=debug

SpringBoot 预定义了两个组:web、sql,在可以在application.propertise直接指定。

到此这篇关于SpringBoot日志级别与日志分组详解的文章就介绍到这了,更多相关SpringBoot日志级别与日志分组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot 通过 Mvc 扩展方便进行货币单位转换的代码详解

    Spring Boot 通过 Mvc 扩展方便进行货币单位转换的代码详解

    这篇文章主要介绍了Spring Boot 通过 Mvc 扩展方便进行货币单位转换,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • IntelliJ IDEA中打开拼写检查与忽略提示曲线的方法

    IntelliJ IDEA中打开拼写检查与忽略提示曲线的方法

    今天小编就为大家分享一篇关于IntelliJ IDEA中打开拼写检查与忽略提示曲线的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Springboot如何集成websocket

    Springboot如何集成websocket

    这篇文章主要介绍了Springboot如何集成websocket问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java编程实现暴力破解WIFI密码的方法分析

    Java编程实现暴力破解WIFI密码的方法分析

    这篇文章主要介绍了Java编程实现暴力破解WIFI密码的方法,结合具体实例形式分析了java暴力破解WiFi密码的原理、操作步骤、实现技巧与相关注意事项,需要的朋友可以参考下
    2018-12-12
  • Druid(新版starter)在SpringBoot下的使用教程

    Druid(新版starter)在SpringBoot下的使用教程

    Druid是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能,DruidDataSource支持的数据库,这篇文章主要介绍了Druid(新版starter)在SpringBoot下的使用,需要的朋友可以参考下
    2023-05-05
  • java模板引擎Thymeleaf和前端vue的区别及说明

    java模板引擎Thymeleaf和前端vue的区别及说明

    这篇文章主要介绍了java模板引擎Thymeleaf和前端vue的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Spring实战之@Autowire注解用法详解

    Spring实战之@Autowire注解用法详解

    这篇文章主要介绍了Spring实战之@Autowire注解用法,结合实例形式详细分析了Spring @Autowire注解具体实现步骤与相关使用技巧,需要的朋友可以参考下
    2019-12-12
  • 使用@Validated 和 BindingResult 遇到的坑及解决

    使用@Validated 和 BindingResult 遇到的坑及解决

    这篇文章主要介绍了使用@Validated 和 BindingResult 遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 简单了解Java synchronized关键字同步

    简单了解Java synchronized关键字同步

    这篇文章主要介绍了简单了解Java synchronized关键字同步,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Spring Data Redis切换底层Jedis和Lettuce实现源码解析

    Spring Data Redis切换底层Jedis和Lettuce实现源码解析

    这篇文章主要为大家介绍了Spring Data Redis切换底层Jedis和Lettuce实现方法源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论