首先来说:logback和log4j非常的相似。如果你对log4j很熟,那么你对logback也会得心应手。
闲话少说,来看看到底有哪些理由:
1、更快的实现。logback对内核进行了重写,在许多关特定环境中性能提升了10倍。而且logback不仅性能提升了,并且在保证初始化速度的同时,内存加载也更小了。
2、更加充分的测试。logback经过了几年,数不清的小时测试。尽管log4j也进行过测试,但与logback相比,完全不在同一级别。这个应该是选择logback最重要的原因。
3、logback-classic很自然地实现了SLF4J。logback-classic中的登陆类自然的实现了SLF4J。当你使用logback-classic作为底层实现时,涉及到LF4J日记系统的问题你完全不需要考虑。更进一步来说,由于 logback-classic强烈建议使用SLF4J作为客户端日记系统实现,如果需要切换到log4j或者其他,你只需要替换一个jar包即可,不需要去改变那些通过
4、完备的文档。官网的数百页的文档。这足可让你找到你想找的任何资料。
5、自动重新加载配置文件。当配置文件修改了,logback-classic能自动重新加载配置文件。扫描过程快且安全,它并不需要创建一个扫描线程。这个技术充分保证了应用程序能跑得很欢在J2EE环境里面。
6、Lilith lilith是log事件的观察者,和log4j的chainsaw类似。而lilith还能处理大数量的log数据。
7、谨慎的模式和非常友好的恢复。在谨慎模式下,多个FileAppender实例跨在多个JVM下,能够安全地写道同一个日志文件。RolingFileAppender会有一些限制。Logback的FileAppender和它的子类包括RollingFileAppender能够非常友好地从I/O异常中恢复。
8、配置文件可以处理不同的情况。开发人员经常需要判断不同的logback配置文件在不同的环境下(开发,测试,生产)。而这些配置文件仅仅只有一些很小的不同,可以通过logback的条件判断<if>,<then>和<else>,这样就可以适应多个环境了。
9、过滤能力。Logback拥有远比log4j更丰富的过滤能力。例如,让我们假设,有一个相当重要的商业应用部署在生产环境。考虑到大量的交易数据需要处理,记录级别被设置为WARN,那么只有警告和错误信息才会被记录。现在,想象一下,你在开发环境遇到了一个臭虫,但是在测试平台中却很难发现,因为一些环境之间(生产环境/测试环境)的未知差异。
使用log4j,你只能选择在生产系统中降低记录的级别到DEBUG,来尝试发现问题。但是很不幸,这会生成大量的日志记录,让分析变得困难。更重要的是,多余的日志记录会影响到生产环境的性能。
使用logback,你可以选择保留只所有用户的WARN级别的日志,而除了某个用户,例如Alice,而她就是问题的相关用户。当Alice登录系统,她就会以DEBUG级别被记录,而其他用户仍然是以WARN级别来记录日志。这个功能,可以通过在配置文件的XML中添加4行。请在官网中中查找MDCFilter
10、多功能的Appender(SifftingAppender)。SiftingAppender是一个全能的追加器。它可以基于任何给定的实时属性分开(或者筛选)日志。例如,SiftingAppender可以基于用户会话分开日志事件,这样,可以为每一个用户建立一个独立的日志文件。
11、自动压缩已经打出来的log。RollingFileAppender在产生新文件的时候,会自动压缩已经打出来的日志文件。压缩是个异步过程,所以甚至对于大的日志文件,在压缩过程中应用不会受任何影响。
12、堆栈树带有包版本。Logback在打出堆栈树日志时,会带上包的数据。
13、自动去除旧的日志文件。通过设置TimeBasedRollingPolicy或者SizeAndTimeBasedFNATP的maxHistory属性,你可以控制已经产生日志文件的最大数量。如果设置maxHistory 12,那那些log文件超过12个月的都会被自动移除。
logback的官方网站: http://logback.qos.ch
SLF4J的官方网站:http://www.slf4j.org
出自:http://www.cnblogs.com/yuanermen/archive/2012/02/13/2348942.html
相关推荐
无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进。所以下面这篇文章主要给大家介绍了关于如何将应用的log4j换成logback的相关资料,文中介绍的很详细,需要的朋友可以参考下。
log4j-slf4j+logback1.3.0 共六个jar包
十个log4j转移到LogBack的理由,接替log4j
2. log4j2 的配置详解,JDBC 配置,CloseableThreadContext 的使用(自定义输出日志文件 例如 logback MDC) 3.logback 的XML配置与使用,MDC的使用,SiftingAppender,DBAppender(c3p0,druid) 详细查看代码:README.md ...
几乎是网上 能找到的 日志脱敏的所有实现 1、基于正则表达式的 日志脱敏实现 ,扩展logback 、log4j 2、springmvc 返回报文脱敏。 3、基于注解方式的脱敏。 大家选择使用。
NULL 博文链接:https://wwwzhouhui.iteye.com/blog/391950
logback+slf4j 异步日志输出到不同级别的文件-配置文件,下载即可使用。结合lombok【@slf4j】即可方便愉快的输出日志了 666
log4j 和 logback配置资源 log4j和logback相关架包.zip
快速了解常用日志技术(JCL、Slf4j、JUL、Log4j、Logback、Log4j2)-附件资源
NULL 博文链接:https://tristan-s.iteye.com/blog/1966020
commons-logging-1.2.jar、log4j-1.2.17.jar、logback-classic-1.1.2.jar、logback-core-1.1.2.jar、slf4j-api-1.7.12.jar、slf4j-jcl-1.7.12.jar、slf4j-simple-1.7.12.jar
Log4j 组件 使用 Logback 由Log4j之父做的另一个开源项目,业界中称作logj后浪,一个可靠、同样且灵活的java日志框架。 Logback组件 Logback配置 Logback输出格式 使用 Log4j2 特征 使用 日志门面技术 JCL 使用 SLF4...
Apache Log4j 2 源代码( apache-log4j-2.17.1-src.zip) 是对 Log4j 的升级,它比其前身 Log4j 1.x 提供了重大改进,并提供了 Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题。修复了安全漏洞...
logback+slf4j自定义appender输出的使用方法,让你明白什么是自定义输出意思使用方式。
Apache Log4j 2 源代码( apache-log4j-2.17.1-src.tar.gz) 是对 Log4j 的升级,它比其前身 Log4j 1.x 提供了重大改进,并提供了 Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题。修复了安全...
关于logback-test.xml配置详解,包括简单项目demo解压运行
Apache Log4j 2 (apache-log4j-2.17.1-bin.zip)是对 Log4j 的升级,它比其前身 Log4j 1.x 提供了重大改进,并提供了 Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题。修复了安全漏洞 CVE-...
'Log4j2 中文文档.epub' 'Apache FreeMarker 2.3.28 中文文档.epub' 'Logback 1.3.0-alpha4 中文文档.epub' 'Apache Hive 3.1.1 中文文档.epub' 'Nginx 中文文档.epub' 'Apache Server 2.4 中文文档.epub' '...
logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。() logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能。...
Logback为取代log4j而生。 Logback由log4j的创立者Ceki Gülcü设计。以十多年设计工业级记录系统的经验为基础,所创建的logback比现有任何记录系统更快、占用资源更少,有时差距非常大。 Logback提供独特而实用的...