SpringBoot中如何全面配置日志系统?

2026-05-26 00:001阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1121个文字,预计阅读时间需要5分钟。

SpringBoot中如何全面配置日志系统?

目录+日志基础操作+设置包的级别+设置日志分组+使用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位

    SpringBoot中如何全面配置日志系统?

    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日志配置内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

    本文共计1121个文字,预计阅读时间需要5分钟。

    SpringBoot中如何全面配置日志系统?

    目录+日志基础操作+设置包的级别+设置日志分组+使用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位

      SpringBoot中如何全面配置日志系统?

      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日志配置内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!