• 从源码来理解slf4j的绑定,以及logback对配置文件的加载


    1)https://www.cnblogs.com/youzhibing/p/6849843.html

    编译期间,完成slf4j的绑定已经logback配置文件的加载。slf4j会在classpath中寻找org/slf4j/impl/StaticLoggerBinder.class(会在具体的日志框架如log4j、logback等中存在),找到并完成绑定;同时,logback也会在classpath中寻找配置文件,先找logback.configurationFile、没有则找logback.groovy,若logback.groovy也没有,则找logback-test.xml,若logback-test.xml还是没有,则找logback.xml,若连logback.xml也没有,那么说明没有配置logback的配置文件,那么logback则会启用默认的配置(日志信息只会打印在控制台)。

      slf4j只能绑定某一个特定的日志框架,若没有绑定,则会有如下警告,说明没有找到合适的日志框架

    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

      若找到多个日志框架,slf4j会发出警告,并在运行时抛出NoClassDefFoundError异常

     

    2)https://blog.csdn.net/zhuyucheng123/article/details/51803852

    2021.2.5 补充 log4j 接口-》logj2的桥接

    1.删掉项目中存在的Log4j1.x的jar包,添加log4j2的jar包;
    2.添加log4j和log4j2的连接包log4j-1.2-api-2.x.x.jar,注意不是log4j-api-2.x.x.jar;
    3.添加log4j2的配置文件log4j2.xml即可,log4j升级log4j2升级成功.
    

      

    api:

    • commons-logging
    • log4j1
    • jdk-logging
    • slf4j

    impl:

    • log4j1
    • log4j2
    • jdk-logging
    • logback

    文章中有大量实例

    3)演化:

    https://zhuanlan.zhihu.com/p/24272450

    4)https://blog.csdn.net/u011372108/article/details/83824274

    这个链接解决了slf4j-log4j12与logback的冲突,因为同时使用了log4j与logback实现日志

    5)类加载器隔离朴实案例(二)logback 9~11 为首次解决老系统日志体系混乱,slf4j、log4j、logback、jul

      

  • 相关阅读:
    linux 端口被占用
    vue项目刷新当前页面
    SQL关于删除的三个语句:DROP、TRUNCATE、 DELETE 的区别
    mybatis模糊查询去除特殊符号%(百分号)和_(下划线)
    SpringMVC 五种注解参数绑定
    导出数据到Excel--多sheet
    POI 导出工具 实例
    Java 数组转换成字符串 添加逗号 类似 js array的join
    SpringBoot常用注解总结
    Java类的主动使用和被动使用-面试题
  • 原文地址:https://www.cnblogs.com/silyvin/p/10433001.html
Copyright © 2020-2023  润新知