• SpringBoot日记——日志框架篇


    在项目的开发中,日志是必不可少的一个记录事件的组件,所以也会相应的在项目中实现和构建我们所需要的日志框架。

    而市面上常见的日志框架有很多,比如:JCL、SLF4J、Jboss-logging、jUL、log4j、log4j2、logback等等,我们该如何选择呢?

    通常情况下,日志是由一个抽象层+实现层的组合来搭建的。

    日志-抽象层 日志-实现层
    JCL、SLF4J、jboss-logging jul、log4j、log4j2、logback

      而SpringBoot机智的选择了SLF4J+Logback的组合,这个组合是当下比较合适的一组(log4j2其实很厉害,但是太厉害导致我驾驭不了~)

    SLF4J使用

      当我们在使用SpringBoot时,同样可能还会调用其他的框架,比如:Spring+Mybatis等等,这些框架中都有自己底层的日志框架在使用,所以,我们需要在引用的同时,将他们的日志框架排除掉即可,如下:

    (截取模糊,凑合看先~)

    1.  按照默认的配置,我们来写个测试类看一下:

      可以看到,日志只输出了info、warn、error。也就是说SpringBoot默认是设置info级别。

      那么,按照我们的需要,要如何修改这个日志输出级别呢?如下,按照你需要的可以配置,输出在控制台的日志的输出级别,一般情况下只需要默认即可。

    logging.level.com.atguigu=trace

    2.配置日志生成的路径及日志名称

    在项目的运行中,我们不可能一直看着控制台,而且日质量会很大,转瞬即逝的~

    那么,我们需要指定我们需要的日志名称以及日志生成的路径,用到两个配置,都是在application.properties/yml中写,如下:(都不设置的话,不生成日志)

    # 按照默认的名称spring.log,生成到指定路径及日志。
    logging.path=output/logs # 不指定的情况下默认生成在项目根目录,按照配置生成所需的日志名称
    logging.file=D:/ooodin.log

    3.日志的格式配置

    首先来看默认输出的格式:

    # %d-时间格式、%thread-线程、%-5level-从左5字符宽度、%logger{50}-日志50个字符、%msg-信息、%n-换行
    # 修改在控制台输出的日志格式
    logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} -%msg%n
    # 修改输出到文件的日志格式
    logging.pattern.file=%d{yyyy/MM/dd} === [%thread] == %-5level == %logger{50} == %msg%n

     输出:

    4.配置自定义log信息

      如果想用自己的log配置,不用系统默认的,那么只需要按照官方要求,将该配置文件放在所需类的目录下即可,也可以在resource中配置全局的。

      然而官方推荐我们在这些命名中,使用带有spring的扩展名,它会被SpringBoot框架识别(不写的单会被日志框架识别),并且可以使用其相应的功能,比如根据环境来使用某段配置:

      这是官方的图~

    更多日志的配置及应用,后边我们再议~

  • 相关阅读:
    距离的总和
    [leetcode] 397. Integer Replacement
    [leetcode] 396. Rotate Function
    [leetcode] 398. Random Pick Index
    [leetcode] 399. Evaluate Division
    [算法] get_lucky_price price
    Geoserver(一) Geoserver2.15.4配置发布arcgis切片
    Geoserver(二) geoserver配置mysql插件
    OpenLayers4地图实例-功能齐全
    OpenLayers Node环境安装运行构建-支持Vue集成OpenLayers
  • 原文地址:https://www.cnblogs.com/iceb/p/9209796.html
Copyright © 2020-2023  润新知