码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringBoot日志管理


    文章目录

    • SpringBoot日志管理
      • 一、日志基础操作
        • 1、日志的作用
        • 2、6种日志级别
        • 3、添加日志记录操作
      • 二、设置日志输出级别
        • 1、编辑程序参数
        • 2、设置某个包的日志级别
        • 3、通过日志组设置日志级别
      • 三、注解快速创建日志对象
        • 1、pom.xml中添加lombok注解
        • 2、给需要日志的类添加 @Slf4j 注解
      • 四、日志输出格式控制
        • 1、日志输出格式简介
        • 2、日志输出格式控制
        • 3、代码案例
      • 五、文件记录日志
      • 六、总结
        • 1、知识点
        • 2、日常操作


    SpringBoot日志管理

    一、日志基础操作

    1、日志的作用

    • 编程时调试代码
    • 运营时记录信息

    2、6种日志级别

    debug、info、warn、error 四种常用

    • trace:运行堆栈信息,使用率低
    • debug:程序员调试代码使用
    • info:记录运维过程数据
    • warn:记录运维过程报警数据
    • error:记录错误堆栈信息
    • fatal:灾难信息,合并计入error

    3、添加日志记录操作

    // 使用 slf4j 包
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    // 创建记录日志对象
    private static final Logger log = LoggerFactory.getLogger(BookController.class);
    
    // 设置要记录的日志形式
    log.debug("debug...");
    log.info("info...");
    log.warn("warn...");
    log.error("error...");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    二、设置日志输出级别

    • 需要添加日志记录操作

    1、编辑程序参数

    --debug
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    2、设置某个包的日志级别

    logging:
      level:
      	# 设置日志级别,root表示根节点,即整体应用日志级别,打印所有
        root: info
        # 设置某个包的日志级别
        com.sgz.day62_springboot_demo.controller: debug
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3、通过日志组设置日志级别

    • 设置日志组,控制指定包对应的日志输出级别,也可以直接控制指定包对应的日志输出级别
    logging:
      # 设置日志组
      group:
        # 自定义组名,设置档期组中所包含的包,一个组可以设置多个包 包1,包2,包3,...
        ebank: com.sgz.day62_springboot_demo.controller,com.sgz.day62_springboot_demo.dao
        isservice: com.sgz.day62_springboot_demo.service
      level:
        root: info
        # 为对应组设置日志级别
        ebank: debug
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    三、注解快速创建日志对象

    1、pom.xml中添加lombok注解

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4

    2、给需要日志的类添加 @Slf4j 注解

    // 包
    import lombok.extern.slf4j.Slf4j;
    
    // 日志注解
    @Slf4j
    
    // 需要的日志
    log.debug("debug...");
    log.info("info...");
    log.warn("warn...");
    log.error("error...");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    四、日志输出格式控制

    1、日志输出格式简介

    在这里插入图片描述

    2、日志输出格式控制

    • %d:日期
    • %p:日志级别
    • %t:线程名
    • %m:消息
    • %c:类名
    • %n:换行
    • %clr(%d/p/t/m/c){自定义颜色}:设置颜色

    3、代码案例

    logging:
      # 设置日志模板格式
    #  pattern:
    #    console: "%d - %m %n"
    #  pattern:
    #    console: "%d %5p %n"
    #  pattern:
    #    console: "%d %clr(%5p) %n"
    #  pattern:
    #    console: "%d %clr(%5p) --- [%16t] %n"
    #  pattern:
    #    console: "%d %clr(%5p) --- [%16t] %40c %n"
      pattern:
        console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    五、文件记录日志

    logging:
     file:
       name: server.log
       max-size: 4KB
     pattern:
       rolling-file-name: server.%d{yyyy-MM-dd}.%i.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 打开当前项目的根目录在这里插入图片描述

    六、总结

    1、知识点

    • 日志类:给需要记录日志的类创建日志对象
    • 日志注解:给需要记录日志的类使用注解,这样就不需要创建日志对象了
    • 日志方法:创建日志对象或注解后,使用日志方法打印日志
    • 日志配置:配置日志的优先级,通过包、分组
    • 文件记录日志:配置文件记录日志

    2、日常操作

    • 先给需要打印日志的类,创建对象或者使用注解,并添加日志方法
    • 然后通过application.yml配置日志的形式
  • 相关阅读:
    C# RAM Stable Diffusion 提示词反推 Onnx Demo
    2022牛客多校联赛第七场 题解
    YOLOPv2开源,目标检测&区域分割,多任务版本
    ACL访问控制列表 基础、创建ACL访问控制列表的两种方式、配置ACL访问控制列表规则、修改ACL规则的默认步长。子网掩码、反掩码、通配符掩码的区别和作用。
    OpenStack集群部署——Keystone部署(二)
    【无标题】
    Redis6的IO多线程分析
    注解与反射
    如何在10亿级别用户中检查用户名是否存在?
    PostgreSQL-存储过程使用入门
  • 原文地址:https://blog.csdn.net/s17856147699/article/details/126650665
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号