码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【一文秒懂——SLF4j日志】


    目录

    1. SLF4j日志

    2. 日志输出


    1. SLF4j日志

    在添加了spring-boot-starter的项目中,已经包含了SLF4j日志的相关依赖项。

    在添加了lombok的项目中,可以在类上添加@Slf4j注解,则lombok框架会在编译期在类中声明名为log的变量,通过此变量可以调用输出日志的方法。

    在SLF4j中,日志的可显示级别,根据日志内容从不重要(或可不关注)到重要(或必须关注)依次为:

    • trace:跟踪信息
    • debug:调试信息
    • info:一般信息
    • warn:警告信息
    • error:错误信息

    2. 日志输出

    通过log变量,可以调用以上5个级别名称对应的方法,以输出对应级别的日志,例如:

    1. @Test
    2. void test() {
    3. log.trace("输出了一条【trace】日志");
    4. log.debug("输出了一条【debug】日志");
    5. log.info("输出了一条【info】日志");
    6. log.warn("输出了一条【warn】日志");
    7. log.error("输出了一条【error】日志");
    8. }

     

    在Spring Boot项目中,默认的日志显示级别为info,所以,在默认情况下,只会显示info或更加重要的日志!

    在Spring Boot项目中,在配置文件中,可以通过在配置文件中的 logging.level.根包名[.类名]=显示级别 来配置显示级别!例如,在application.properties中添加配置:

    1. # 日志的显示级别
    2. logging.level.cn.tedu.csmall=trace

    输出日志的各级别的方法都是被重载过的,通常,当输出日志时需要输出相关的变量值时,推荐使用参数列表为 (String msg, Object... args) 的方法,例如:

    1. int x = 1;
    2. int y = 2;
    3. System.out.println("x = " + x + ", y = " + y + ", x + y = " + (x + y));
    4. log.trace("x = {}, y = {}, x + y = {}", x, y, x + y);

    以上做法中,是在需要输出的字符串中使用{}作为占位符,表示某个变量的值,然后,从第2个参数开始,依次传入各占位符对应的值。

    使用这种做法,可以避免字符串的拼接,无论是编写代码,还是阅读代码,体验都会更好!并且,使用这种做法时,由于第1个参数(字符串)是常量,是不变的,不存在字符串的拼接,所以,执行效率也远高于传统的输出语句!

    需要注意,在测试类中,测试类必须添加@SpringBootTest注解,才会识别application.properties中的配置,并且,如果没有添加此注解,日志的默认显示级别是debug。

    个人主页:居然天上楼

    感谢你这么可爱帅气还这么热爱学习~~

    人生海海,山山而川

    你的点赞👍 收藏⭐ 留言📝 加关注✅

    是对我最大的支持与鞭策

  • 相关阅读:
    [Unity] GPU动画实现(三)——材质合并
    Stream流编程
    计算二值化图片的迭代次数
    如何swagger关闭及给swagger加参数信息
    山东碱地3000亩水稻 国稻种芯·中国水稻节:德州大河粮仓
    解锁安全与信任的双重礼遇!JoySSL证书买二送一,买三送二
    直播预告 | 博睿学院 Bonree ONE接入zabbix数据源提高可观测运维能力
    [机缘参悟-119] :一个IT人的反思:反者道之动;弱者,道之用 VS 恒者恒强,弱者恒弱的马太效应
    四川竹哲电商:抖店怎么修改经营类目?
    万界星空科技低代码云MES中的四大现场执行管理模式
  • 原文地址:https://blog.csdn.net/weixin_72612071/article/details/128087701
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号