选择logback而不是log4j的理由

来源:互联网 发布:雪花算法 原理 编辑:程序博客网 时间:2024/05/16 17:08

选择logback而不是log4j的理由

原文地址:https://logback.qos.ch/reasonsToSwitch.html

logback在log4j的基础上做了很多改进,详细列举会有很多。但是,从log4j转换到logback是却没有特别多的理由。需要知道的是logback和log4j是相同的开发者。如果你对log4j很熟悉,那么对logback也不会特别陌生。如果你喜欢log4j那么也会喜欢logback。

更快的实现
在原来的log4j的基础上,logback内部重写后,在关键执行路径上提升了10倍的速度。不仅logback的组件执行速度更快了,而且占用了更少的内存空间。

大量测试
logback经过了大量的测试。尽管log4j也进行了大量的测试,但是相对于logback不是一个等级的。这是我们建议切换log4j到logback的最重要的理由之一。如果你想让你的日志框架在不利的条件下依然稳定发挥。

logback-classic原生的实现SLF4J
因为logback-classic中的Logger类原生的实现了SLF4J,所以在使用logback-classic中的Logger时不需要其他额外的处理。而且,因为logback强制使用SLF4J的接口作为api标准,所以要切换成log4j或者其他以SLF4J接口为实现的日志框架,只需要替换jar包即可。

详细的的文档
logback有详细的文档。

通过XML和Groovy进行配置
大部分的日志框架支持xml配置方式,logback还支持Groovy脚本配置方式。

自动重新加载配置文件
logback-classic 能够自动加载配置文件中的变化,扫描进程的速度很快,在应用程序和jee程序中也有非常好的性能,因为它没有额外的创建扫描线程。

优雅的回复IO错误
logback的FileAppender和它的子类RollingFIleAppender能够从IO错误中优雅的恢复。因此,如果文件服务器短时间的故障,就不要重新启动应用了。只要故障排除后,logback相应的appender就能够透明的迅速的从过去的错误状态中恢复过来。

自动删除过去日志
通过设置TimeBaseRollingPolicy或者SizeAndTimeBasedFNATP,可以控制日志文件的最大个数。
原创粉丝点击