zoukankan      html  css  js  c++  java
  • log4j 、logback 以及slf4j三者之间的关系

    在项目的开发中由于对于log4j、logback以及slf4j之间的关系和相关的知识不能清晰掌握,在业余时间进行记录。

    1、三者之间的关系

     1)

      简答的讲就是slf4j是一系列的日志接口,而log4j logback是具体实现了的日志框架

      因为是接口,所以在项目中如果你不引用log4j 、logback或者其它日志框架你会发现,由于没有给出具体的logger实现,

      控制台是不能够正常的输出日志信息。也就是说我们在具体开发中,需要绑定一个日志框架,才能正常的使用slf4j。

     2)  

       log4j和logback就是两个受欢迎的日志框架。但两者又有不同:

       log4j是apache实现的一个开源日志组件。包的实现(Wrapped implementations)

       logback同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架。是slf4j的原生实现。(Native implementations)

        log4j配置文件需要web.xml文件完成加载,logback.xml文件无需,只要放在资源根路径下就好。

      3)总结:

      slf4j是java的一个日志门面,实现了日志框架一些通用的api,log4j和logback是具体的日志框架,他们可以单独的使用,也可以绑定slf4j一起使      用。

      单独使用:分别调用框架自己的方法来输出日志信息。

      绑定slf4j一起使用:调用slf4j的api来输入日志信息,具体使用与底层日志框架无关(需要底层框架的配置文件)

     

      显然这里我们不推荐单独使用日志框架。假设项目中已经使用了log4j,而我们此时加载了一个类库,而这个类库依赖另一个日志框架。这个时候我们就需要维护两个日志框架,这是一个非常麻烦的事情。而使用了slf4j就不同了,由于应用调用的抽象层的api,与底层日志框架是无关的,因此可以任意更换日志框架。

     

    2、日志级别

    log4j提供了4种日志级别和2种日志开关。logback与其一样,logback的日志级别定义在ch.qos.logback.classic.Level类中。
    log4j官方网址: http://logging.apache.org/log4j/1.2/

    4种级别:

    DEBUG:输出调试信息;指出细粒度信息事件对调试应用程序是非常有帮助的。 
    INFO: 输出提示信息;消息在粗粒度级别上突出强调应用程序的运行过程。 
    WARN: 输出警告信息;表明会出现潜在错误的情形。 
    ERROR:输出错误信息;指出虽然发生错误事件,但仍然不影响系统的继续运行。 
    FATAL: 输出致命错误;指出每个严重的错误事件将会导致应用程序的退出。 

    2个日志开关 :
    ALL level:打开所有日志记录开关;是最低等级的,用于打开所有日志记录。 
    OFF level:关闭所有日志记录开关;是最高等级的,用于关闭所有日志记录。

    按照范围从小到大排序:

    OFF level > FATAL > ERROR > WARN > INFO > DEBUG > ALL level;范围大的会包含范围小的,例如日志设置为INFO级别的话则FATAL、ERROR、WARN、INFO的日志开关都是打开的,而DEBUG的日志开关将是关闭的。

    建议:

    Log4j或logback建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。

     

     

    安静男孩
  • 相关阅读:
    MySql创建库 Challenge
    未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值的解决办法.
    小总结:用反射机制创建的分配数据分配器
    工厂模式的反思
    单机安装“完整”SharePoint 2010
    作业调度框架 Quartz.NET 2.0 StepByStep(2)
    UI线程同步
    每日见闻(一)
    作业调度框架 Quartz.NET 2.0 StepByStep
    基础算法(ACwing)
  • 原文地址:https://www.cnblogs.com/xishaohui/p/8795773.html
Copyright © 2011-2022 走看看