SpringBoot进阶-日志等级配置与操作

  • 一、日志等级
  • 二、设置日志等级
  • 三、打印日志
  • 四、自定义日志格式
  • 五、文件记录日志

一、日志等级

  1. trace:最低等级
  2. debug:调试用,通常用于跟踪程序进展
  3. info: 记录用,通常用于记录程序行为
  4. warn:警告
  5. error:错误
  6. fatal:灾难性错误,最高等级

二、设置日志等级

SpringBoot 默认日志等级为 info,也就是说只在控制台输出 info 或更高等级的日志

在开发阶段如果想临时地更改日志等级进行调试,可以使用下面这个简单的配置:

debug: true

真正要设置项目日志等级则要这样:

logging:level:root: infocom.mzz.example.controller: debugcom.mzz.example.service: debug

日志的等级是根据组或包来设置的,其中 root 组即为整个项目

但以包为单位设置日志等级很麻烦,所以可以自己设置组别,然后为每组分别设置等级:

logging:group:server: com.mzz.example.service, com.mzz.example.controllersql: com.mzz.example.mapperlevel:root: infoserver: debugsql: trace

三、打印日志

打印日志首先要获取日志对象,如下:

@RestController
@RequestMapping("/user")
public class UserController {public static final Logger log = LoggerFactory.getLogger(BookController.class);}

由于这行代码写法比较固定,可以用 Lombok 中的 @Slf4j 注解代替,如下:

@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {}

拿到日志对象后,调用方法即可打印日志,各个等级作为方法名即可打印对应等级的日志:

@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate IUserService userService;@PostMappingpublic Result save(@RequestBody User user) {log.debug("尝试保存新用户:{}", user);boolean flag = bookService.save(user);if (!flag) {log.error("保存新用户失败:{}", user);}log.info("已保存新用户:{}", user);return Result.success();}
}

打印日志时,{} 可以作为占位符,数组在之后传入

另外,没有 fatal 等级的日志打印方法,因为 fatal 是指会使程序崩溃的严重错误,程序崩溃日志系统自然无法继续运行,所以打印 fatal 级别的日志没有意义

四、自定义日志格式

设置 logging.pattern.console 属性可以自定义控制台打印日志的格式,如下:

logging:pattern:console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n"

上为 SpringBoot 默认的日志格式,参考自:https://blog.csdn.net/qq_34049732/article/details/116722116

五、文件记录日志

看如下示例:

logging:file:name: log/server.log    # 指定文件名称以及路径:启动路径下的 log 文件夹下
#    path: log/ # 指定日志文件路径,不含名称,默认为 spring.loglogback:rollingpolicy:max-file-size: 1MB    # 指定文件最大规格file-name-pattern: log/server_%d{yyyy-MM-dd}_%i.log   # 指定文件名称格式以及路径

滚动日志可以设置每个日志的最大大小

设置滚动日志也依然要设置日志名称,如上的 server.log,里面是最近的日志

logging.file.name 和 logging.file.path 只需配置一个,若同时存在,则 path 无效

SpringBoot进阶-日志等级配置与操作相关推荐

  1. SpringBoot默认日志logback配置解析

    SpringBoot默认日志logback配置解析 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式 ...

  2. SpringBoot和日志框架:缘由,日志框架的选择,使用,自定义配置,日志框架切换

    日志框架 缘由 如果像我们初学者,想知道代码运行到哪里了,一般都是会System.out.println() 进行输出到控制台查看代码运行的情况,好知道代码错误在哪里 但是大型的系统里面,如果有很多的 ...

  3. springboot进阶,分页插件 pageHelper,Swagger整合,日志

    文章目录 1,课程回顾 2,本章重点 3,具体内容 3.1 整合连接池 3.2 springboot日志配置: 3.3 springboot整合shiro 3.4 mybatis分页插件 pageHe ...

  4. SpringBoot (14)---日志配置(logback)

    SpringBoot 日志配置(logback) SpringBoot支持Java Util Logging,Log4J,Log4J2和Logback日志框架,默认采用logback日志.在实际Spr ...

  5. springboot 默认日志配置以及更换其他日志配置

    springboot 默认日志配置 最简单的打印Sql日志 方法一 此方法无需改动直接复制即可使用 #打印SQL mybatis.configuration.log-impl=org.apache.i ...

  6. springboot整合kafka3.1,实现基本配置和操作

    springboot整合kafka3.1,实现基本配置和操作 这篇是单机的zookeeper形式,适用于入门.等有时间会更新kraft搭建. 博主自己装了双系统,虚拟机刚刚删了,所以没去做集群,不过当 ...

  7. SpringBoot笔记:SpringBoot2.3集成Logback日志组件配置

    文章目录 Logback简介 简介 日志级别 日志分类 Logback使用 添加依赖 配置Logback Logback参数解释 1.根节点configuration包含属性 2.根节点configu ...

  8. SpringBoot与日志配置

    前言: 前文我们介绍了配置文件的原理还有如果切换配置文件的环境,个人觉得归纳为一手册,要用的时候查一下就好了.不然记那么多挺麻烦的.. 1.日志 1.日志框架 老生常谈,什么是日志:我们平时用Syst ...

  9. log4j配置详解及日志等级设置

    官方网址: http://logging.apache.org/log4j/1.2/ 参考:http://blog.csdn.net/maxracer/article/details/7920997 ...

最新文章

  1. 《学得少考得好》读书笔记
  2. 3.12课·········数组
  3. 学java前要学css_教你一招:学习Java必须学会的CSS用法
  4. 延长汽车使用寿命,抛弃六大用车坏习惯
  5. 设计模式(一)单例模式:5-单元素枚举类模式
  6. c语言遍历字节,C语言遍历结构体
  7. 在同一窗口和同一选项卡中打开URL
  8. 【网络】网络流:最大流最小割问题
  9. 软件架构师的12项修炼——关系技能修炼(2)
  10. 中国海水产品加工行业发展现状及趋势分析,山东省产量最高「图」
  11. 消费金融公司可开展哪些业务类型?
  12. Linux终端共享分屏神器tmux
  13. 珊瑚虫工作室_2007-12-24
  14. 哈工大csapp大作业程序人生
  15. my ReadBook_love
  16. 各版本的Hadoop安装包下载
  17. android手机照片恢复,安卓手机照片怎么恢复?简单恢复方法分享
  18. No value specified for parameter 15排查过程
  19. 排中律与实无穷问题的性质分析
  20. b和B的区别?以及b、B、KB、MB、TB、PB、EB的换算

热门文章

  1. java 当前日期前一天_java获取当前日期的前一天和后一天
  2. pta查询自动售货机中商品的价格
  3. 计算机中单片机的应用领域,单片机技术的应用领域有哪些?
  4. 盘点!Windows系统好用的绘图软件!
  5. dell服务器管理口ip地址_批量自动化配置Dell服务器idrac管理口IP
  6. echart中series的name图例是否展示点击事件
  7. 给mininet安装controller
  8. 文远知行杯广东工业大学第十六届程序设计竞赛错题笔记
  9. 机械设备装调与控制技术实训装置
  10. Android/Linux Root 的那些事儿