美文网首页java 架构
如何有效的log日志(一)-- 流行日志框架的简单介绍

如何有效的log日志(一)-- 流行日志框架的简单介绍

作者: aix91 | 来源:发表于2018-09-10 20:24 被阅读0次

    1. 日志技术框架概述


        a. JUL:JDK中的日志记录工具

        b. LOG4J1:具体的日志实现框架

        c. LOG4J2: LOG4J1 的下一个版本,性能更好

        d. LOGBACK: 也是一个具体的日志实现框架

        e. JCL: 一个日志门面,提供统一的日志记录接口,也常称为commons-logging。

        f. SLF4J: 一个日志门面,与JCL一样提供统一的日志记录接口,可以方便地切换看具体的实现框架。

    其中最常用的组合是:SLF4J + LOGBACK: 

    2. SLF4J


    SLF4J 适配器: 是一个日志的接口规范,它对用户提供了统一的日志接口,屏蔽了不同日志组件的差异。这样我们在编写代码的时候只需要看 SLF4J 这个接口文档即可,不需要去理会不同日之框架的区别。而当我们需要更换日志组件的时候,我们只需要更换一个具体的日志组件Jar包(如:logback,log4j, log4j2, jul)就可以了。

    3. Logback


    它是log4j的升级版,支持占位符,相比log4j,它的运行速度更快。

     Logback 被分成三个组件: logback-core、logback-classic 和 logback-access  

        logback-core:  提供了 LogBack 的核心功能,是另外两个组件的基础。

        logback-classic:   实现了 SLF4J 的API,所以当想配合 SLF4J 使用时,需要引入 logback-classic 

        logback-access: 是为了集成Servlet环境而准备的,可提供HTTP-access的日志接口。

    logback 的节点: configuration(根结点), appender(负责写日志的组件), logger(来设置某一个包或者具体的某一个类的日志打印级别), root (元素配置根logger。该元素有一个level属性,没有name属性,因为已经被命名 为root。Level属性的值大小写无关,其值为下面其中一个字符串:TRACE、DEBUG、INFO、 WARN、ERROR、ALL 和 OFF)

    4. 如何进行日志系统的转换


    在日志转换过程中,SLF4J其实是充当了一个中介的角色。例如当我们一个项目原来是使用LOG4J进行日志记录,但是我们要换成LogBack进行日志记录。此时我们需要先将LOG4J转换成SLF4J日志系统,再从SLF4J日志系统转成LogBack日志系统。需要加入 log4j-over-slf4j.jar 将 Log4J 转成 SLF4J,之后再加入 logback-classic.jar 将 SLF4J 转成 LogBack。

    -- 文章整理自 《Java日志中最全面的框架介绍》

            

    相关文章

      网友评论

        本文标题:如何有效的log日志(一)-- 流行日志框架的简单介绍

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