美文网首页
SpringBoot日志

SpringBoot日志

作者: 小杨小杨神采飞杨 | 来源:发表于2020-05-01 14:11 被阅读0次

    springboot使用SLF4J+logback的组合

    1. 使用SLF4J


      各种组合需要导入的jar

    SLF4J是一个日志接口门面,负责实现不同日志实现类,一起工作,而不同的日志实现类需要不同的配置文件,使用时应当根据使用的日志实现类配置与之对应的配置文件

    1. 转接包
      当一个项目有很多框架时,不同的框架底层的日志实现是不同的,如何统一的设置为SLF4J+logback?


      转接包

      可以使用jcl-over-slf4j.jar替换commons logging API(spring底层使用的日志),jcl-over-slf4j.jar内部有commons logging API的全部功能,这样spring底层调用时不会报错,但是日志真正的实现被偷天换日的替换成了SLF4J+logback
      总结:如何让系统中所有日志统一到slf4j
      1、将系统中原有的其他日志框架排除
      2、使用中间包代替原有的日至框架
      3、导入slf4j的其他实现

    1. springboot的日志关系
      日志关系
      总结:
      1、springboot底层使用的SLF4J+logback进行日志记录
      2、springboot把其他日志都替换成了SLF4J
      3、引入了很多中间包,中间包内有对应的日志框架的完整jar包,但是在使用时会调用slf4j工厂类,最后返回的是slf4j的实现
      4、如果引入其他框架,一定要移除他的日志依赖!!

    springboot能自动适配所有日志,而且底层使用SLF4J+logback的方式记录日志,我们只需要在引入其他框架的时候,把这个框架依赖的日志框架排除掉即可

    排除
    1. 配置与使用
      1、配置:springboot默认已经配置好了日志!!
      2、使用:
      使用slf4j的日志工厂创建日志对象
      slf4j的日志工厂
      日志的优先级从低到高依次为 trace<debug<info<warn<error
      通过设置可以只输出对应优先级以上的日志信息
      springboot默认设置的优先级是info,即只会输出info级别以上的日志信息
      默认级别为info
      通过在配置文件中设置可以针对特定的包下的类调整优先级
    logging.level.cn.yzx=trace #设置cn.yzx包下的类运行时日志信息级别为trace
    
    调整优先级为trace
    通过在配置文件中设置可以将日志信息输出到文件中,不指定路径则默认输出在项目根路径下,指定则输出到指定路径下,有两种方式,path是输出到指定文件夹,日志文件名称为springboot默认的spring.log,这个方法已经被弃用了,file可以指定文件夹以及日志文件的名称,该方法也被弃用了
    两种方式
    在spring2.0之后,使用logging.file.属性名来设置日志文件信息
    logging.file.
    name和path功能重复,且两个都设置的话只有name会生效,name可以指定路径以及日志文件的名称,不指定路径默认在项目根路径下输出
    设置
    测试结果

    通过在配置文件中设置可以调整日志在控制台中输出的格式,也可以调整日志输出到日志文件中的格式

    #设置日志控制台输出格式
    logging.pattern.console=%d{DATE}, %d{ABSOLUTE}, %d{HH:mm:ss,SSS}
    ##设置日志文件输出格式
    logging.pattern.file=%d{DATE}, %d{ABSOLUTE}, %d{HH:mm:ss,SSS}
    

    补充:
    1、日志输出格式

    日志输出格式
    2、使用自己的日志框架配置
    在类路径(resources)下放上每个日志框架的配置文件,springboot就不会使用默认的配置文件了
    命名规则
    springboot建议能带上-spring的标签都带上,这样表示这个配置文件通过springboot生效,就可以使用高级功能profile,根据不同的开发环境输出不同格式的日志
    例如logback的配置文件,如果不加-spring,默认就是logback的配置文件,而logback日志是不支持这个功能的,加了就可以使用
    设置
    3、切换日志框架:排除原先的,引入要用的

    相关文章

      网友评论

          本文标题:SpringBoot日志

          本文链接:https://www.haomeiwen.com/subject/zogfghtx.html