当前位置 : 主页 > 编程语言 > java >

SpringBoot日志配置操作全面介绍

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 日记基础操作 设置包的级别 设置日志分组 使用lombok中@Slf4j简化日志输出 日志输出格式控制 文件记录日志 设置日志文件 日志文件详细配置 日记基础操作 编程期调试代码 运营期
目录
  • 日记基础操作
    • 设置包的级别
    • 设置日志分组
    • 使用lombok中@Slf4j简化日志输出
  • 日志输出格式控制
    • 文件记录日志
      • 设置日志文件
      • 日志文件详细配置

    日记基础操作

    编程期调试代码

    运营期记录信息

    记录日常运营重要信息(峰值流量,平均响应时长...)

    记录应用报错信息(错误堆栈)

    记录运维过程数据(扩容、报警..)

    创建的springboot工程中

    package com.comtroller;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    @RequestMapping("/logs")
    public class LogController {
        //创建记录日志的对象
        private static  final Logger log= LoggerFactory.getLogger(LogController.class);
        @GetMapping
        public String test(){
           log.info("info..");
           log.debug("debug..");
           log.warn("warn..");
           log.error("error..");
            return "Logging ...";
        }

    运行结果

    可以看出来debug级别的日志默认是关闭的

    要开启debug只需要在配置文件中加入

    //开启debug模式,输出调试信息,常用于检查系统运行状态
    debug: true

    一般这样设置

    设置日志级别,root表示根节点,即整体应用日志级别
    logging:
      level:
        root: debug

    debug加载的信息量非常的多

    logging:
      level:
        root: warn

    改成warn级别,只要警告信息和报错信息

    设置包的级别

    logging:
      level:
    #    其余的日志为info级别
        root: info
    #    设置com包下的为debug
        com: debug

    设置日志分组

    设置日志组,控制指定包对应的日志输出级别,也可以直接控指定包对应的日志输出级别

    logging:
      group:
    #    自定义组名,设置当前组中所包含的包
        kc_g1: com
    #    设置日志级别
      level:
        root: warn
        kc_g1: debug

    可以使用继承的方式,将配置的抽取出来,放到一个类中,这就不用书写

    将这个放到一个类中所用的类去继承

        //创建记录日志的对象
        private static  final Logger log= LoggerFactory.getLogger(LogController.class);

    使用lombok中@Slf4j简化日志输出

    pom.xml中引入lombok

    <!--        lombok简化日志输出-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    //lombok简化日志
    @Slf4j
    @RestController
    @RequestMapping("/logs")
    public class LogController {
        @GetMapping
        public String test(){
           log.info("info..");
           log.debug("debug..");
           log.warn("warn..");
           log.error("error..");
            return "Logging ...";
        }
    }

    运行之后

    日志输出格式控制

    PID:进程id,用于表明当前操作所处的进程,当多服务同时记录日志时,这个值可以用来协助调试程序

    所属类/接口:当前显示信息为SpringBoot重写后的信息,名称过长是,简化包名书写为首字母,甚至直接删除。

    设置日志输出格式

    logging:
      pattern:
        console: "%d %clr(%p) --- [%16t] %clr(%-40.40c){red} : %m %n"

    %d:日期

    %m:消息

    %n:换行

    %p: 进程号

    %clr:设置颜色

    %t:进程名

    -40:左对齐40位

    logging
      pattern:
        console: "%d - %m%n" 

    文件记录日志

    设置日志文件

    logging:
      file:
        name: server.log

    一启动服务器就会生成一个你指定名字的文件,但是服务器没关是没有内容的,还在缓冲区里

    关闭服务器得到

    日志文件详细配置

    logging:
      file:
        name: server.log
      logback:
        rollingpolicy:
          max-file-size: 2KB
          file-name-pattern: server.%d{yyyy-MM-dd}.%i.log

    自动生成对应的

    注:SpringBoot2.4之后才能使用,否则无效果

    到此这篇关于SpringBoot日志配置操作全面介绍的文章就介绍到这了,更多相关SpringBoot日志配置内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

    上一篇:SpringIOC BeanDefinition的加载流程详解
    下一篇:没有了
    网友评论