07、SpringBoot—— 日志操作

SpringBoot —— 日志操作

  • 概念

    • 日志就像是我们日常生活中写的日记一样,只不过记录的是应用在运行时的一些报告而已,日志以文件的形式保存在硬盘上,方便管理项目以及bug定位
  • SpringBoot默认的日志框架

    • 概念
      • SpringBoot支持多种日志框架。通常情况下,这些日志都是由一个日志抽象层和一个日志实现层搭建而成的
      • 日志抽象层是为记录日志提供的一条标准且规范的框架,其作用在于为记录日志提供接口
      • 日志实现层是由日志抽象层实现的框架
      • SpringBoot默认使用的日志抽象层是slf4j,默认使用的日志实现层是logback
  • 打印日志

    • 概念

      • 就是在控制台上输出日志文本
    • 步骤

      • 创建日志对象

        private static final Logger logger = LoggerFactory.getLogger(Person.class);

        Logger的对象必须通过LoggerFactory工厂类中的getLogger()方法予以创建;

        创建日志对象的标准语法应该把Logger的对象修饰为private static final,以防止Logger的对象被其他外部类修改

    • 示例

      controller.TestController:

      @RestController
      public class TestController {
          private static final Logger logger = LoggerFactory.getLogger(TestController.class);
      
          @RequestMapping("/test")
          public String test(String value1,String value2){
              logger.info("进入test方法喽");
              logger.info("value1={},value2={}",value1,value2);
              return "Are you ok?";
          }
      
      }
  • 解读日志

    • 一般来说,SpringBoot的单行日志是这样的
      • 时间戳
      • 日志级别
      • 进程编号(PID)
      • 打印日志的线程名称
      • 打印日志的类名
  • 保存日志

    • 概念

      • 正式的上线的项目时不会将日志输出到控制台上的,而是以文件的形式进行持久化存储
      • 但是,日志文件不过过大,避免降低日志文件的使用效率
    • 指定日志文件的生成位置

      • application.properties配置文件中,添加logging.file.path配置项,即可指定日志文件的生成位置
      • 如果想在当前项目根目录下的某个文件夹中生成日志文件,那么日志文件的生成位置将使用抽象路径
      • 配置文件支持“\\”和“/”这两个路径分隔符
    • 指定日志文件的生成名称

      • application.properties配置文件中,添加logging.file.name配置项,既可以指定这个日志文件的生成名称,也可以指定这个日志文件的生成位置

      • 虽然name属性配置项的优先级要大于path属性配置项,但是name属性配置项可以引用path属性配置项的值

        logging.file.path=logging
        logging.file.name=${logging.file.path}\\test.log
    • 为日志文件添加约束

      • 概念
        • 随着项目的长时间运行,日志内容会越来越多,日志文件也越来越庞大。日志文件过大不仅挤占硬盘资源,而且会降低日志文件的可读性。所以,我们需要对日志文件进行约束
      • 指定日志文件的最大保存天数
        • application.properties配置文件中,添加logging.logback.rollingpolicy.max-history配置项,其值是数字,表示日志文件的最长保存天数(到期就删除)
      • 指定日志文件的最大容量
        • application.properties配置文件中,添加logging.logback.rollingpolicy.max-file-size配置项
        • 如果日志文件超出了最大容量限制,日志框架就会将超出最大容量之前的内容打包成压缩包,超出最大容量之后的日志内容会生新的日志文件
      • 启动项目自动压缩文件
        • 如果项目运行一段时间后需要降低日志文件的最大容量限制,但是已经生成的日志文件已经大大超出了新的最大容量限制
        • application.properties配置文件中,添加logging.logback.rollingpolicy.clean-history-on-start配置型,将其值设置成true,表示在项目启动时对原有日志文件做压缩归档操作
  • 调整日志

    • 概念

      • 我们不需要将所有的日志信息都输出到日志文件中,过多的日志内容不仅会降低系统性能,还会对硬盘存储造成不小的压力
    • 设置日志级别

      • 5种日志级别(优先级由高到低)

        • ERROR
          • 错误日志
        • WARN
          • 警告日志
        • INFO
          • 信息日志,通常指的是体现程序运行过程中值得强调的粗粒度信息,SpringBoot默认采用的日志级别
        • DEBUG
          • 调试日志,指的是程序运行过程中的细粒度信息
        • TRACE
          • 追踪日志,指的是一些给代码做提示、定位的信息,精细地展现代码当前的运行状态
      • 示例

        logging.level.[包或类名]=级别

        这些东西idea都会有提示的

    • 设置日志

      • SpringBoot可以分别为控制台和日志文件设置独立的日志格式
      • 用于设置控制台的日志格式的配置项为logging.pattern.console
      • 用于设置日志文件的日志格式的配置项为logging.pattern.file
  • logback.xml配置文件

    • 感兴趣的小伙伴去搞一下,反正我不是特别喜欢xml配置文件(json配置统一化就好了,哈哈)
    • 如果logback.xml和application.properties文件都在resources文件夹下,那么logback.xml的优先级高于application.properties
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值