java 架构

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

2018-09-10  本文已影响0人  aix91

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日志中最全面的框架介绍》

        

上一篇下一篇

猜你喜欢

热点阅读