JAVA 日志框架一览

本文深入解析日志框架的发展历程,从Log4j到LogBack再到Log4j2,阐述各框架的特点与优势。同时,详细介绍了日志适配层与转换层的作用,以及如何通过SLF4j等工具实现不同日志框架间的无缝切换。
日志门面日志实现
JCL(Apache Commons Logging)
SLF4j(Simple Logging Facade for Java (SLF4J))
JBoss Logging
Log4j
JUL(java util logging)
LogBack
Log4j2

日志实现

Log4j:初代的日志框架,现在已经不再更新。

End of Life On August 5, 2015 the Logging Services Project Management
Committee announced that Log4j 1.x had reached end of life. For
complete text of the announcement please see the Apache Blog. Users of
Log4j 1 are recommended to upgrade to Apache Log4j 2.

LogBack:LogBack是Log4j的开发者开发的一个后续版本,在Log4j的基础上进行了优化,提升了执行速度,减少了内存占用,并且本身无缝衔接Slf4j,也进行了更加完备的测试,具有更完善的文档等等。具体可以参见 为什么使用LogBack替换Log4j
Log4j2:Log4j2是Apache基于Log4j开发的一款新的日志框架,相比前身Log4j,它提供了一些重大改进(具体改进参照 为什么使用Log4j2),并汲取了Logback中的许多特性。

Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides many of the improvements available in Logback while fixing some inherent problems in Logback’s architecture.

日志适配层

jar 包名称描述
slf4j-jdk14slf4j到JUL(jdk logging)的适配层
slf4j-log4j12slf4j到log4j的桥梁的适配层
slf4j-nopnop 日志
slf4j-jcl-1.8.0jcl 日志
slf4j-simplesimple日志
log4j-slf4j-implslf4j到log4j2的适配层
logback-classicslf4j到logback的桥梁的适配层

日志转换层

 <dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.21</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>1.7.21</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
        <version>1.7.21</version>
    </dependency>
</dependencies>

例如:jcl-over-slf4j.jar,作用,当CLASS_PATH下存在该jar时,会将JCL的日志记录转换到Slf4j去实现。过程大致如下:

Start log to Apache Commons Logging ----> jcl-over-slf4j.jar — (redirect) —> SLF4j —> slf4j-log4j12-version.jar —> log4j.jar —> 日志输出

log4j-over-slf4j:将使用log4j日志框架输出的日志路由到SLF4J上。

更多请参见:https://www.slf4j.org/legacy.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值