Log4j.Log4j 2.Logback.SFL4J.JUL.JCL的比较 之前就知道有好几种日志框架,但是一直都是听别人讲,在什么时候该用何种logger,哪种logger比较好……一直对Log4j.Jakarta Commons-Logging.java.util.logging.SLF4J.Logback它们之间的区别已经各自的优势不是很了解,这个周末决定沉下心来好好研究一下.一下这篇文章,就是我在对比了这几种日志框架之后的一些收获,希望能给大家带来一点收获. Log4j Log4j =…
写在前面 日志组件是我们平时开发过程中必然会用到的组件.在系统中正确的打印日志至少有下面的这些好处: 调试:在程序的开发过程中,必然需要我们不断的调试以达到程序能正确执行的状态 .记录日志可以让开发人员清楚的了解程序的运行状态定位问题: 信息收集:在DT时代,谁掌握了数据谁就掌握了主动权.现在主流的日志系统可以非常方便的记录用户行为数据,格式化成便于进行大数据分析的格式: 记录运行状态:应用程序投产之后,难免会出现生产事故,有了系统日志工程师可以根据日志迅速定位问题. 当然,硬币都具有两面性.引…
虽然现在log4j已经基本上不更新很久了,但实际上升级log4j到logback最大的难度并不在于本身的替换,而是现有大量的三方jar依然使用log4j,以至于无法100%的exclude掉,所以很有可能是无法做到纯粹将log4j升级到logback的.在我们的很多系统中,就如此. 如果是使用slf4j作为facade的话,是可以无缝的升级的,但是如果直接使用了Log4j中的类,恐怕就无能为力了. maven依赖: <dependency>              <groupId&g…
英文原文:Reasons to prefer logback over log4j 无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进.不过尽管难以一一细数,这里还是列举部分理由为什么选择logback而不是log4j.牢记logback与log4j在概念上面是很相似的,它们都是有同一群开发者建立.所以如果你已经对log4j很熟悉,你也可以很快上手logback.如果你喜欢使用log4j,你也许会迷上使用logback. 更快的执行速度 基于我们先前在log4j上的工作,l…
先看一张图: 是不是有点晕, 晕就对了.这个仅仅是 slf4j 的情况,实际上, 我们不仅要接触到 slf4j ,有时候还会接触其他的日志系统.且看下文分解. 1 直接使用各个日志系统 1.1 直接使用log4j 最开始的时候, 我们都是使用log4j, 怎么使用呢? 先引入jar,log4j-1.x.x  jar maven是这样的: <dependency> <groupId>log4j</groupId> <artifactId>log4j</a…
1.将jars文件夹下apache-log4j-extras-1.2.17.jar,commons-logging-1.1.3.jar, log4j-1.2.17.jar, slf4j-log4j12-1.7.16.jar 替换成log4j-over-slf4j-1.7.23.jar,logback-access-1.2.1.jar, logback-classic-1.2.1.jar, logback-core-1.2.1.jar. 2.将conf文件夹下的log4j.properties.t…
log4j配置的依赖 <!-- 删除pom.xml文件中所有对日志jar包的引用--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency> <dependency> <groupId>org.slf4j&l…
Overview The Log4j 2 API provides the interface that applications should code to and provides the adapter components required for implementers to create a logging implementation. Although Log4j 2 is broken up between an API and an implementation, the…
步骤: 1.导入jar包:log4j-1.2.17.jar 2.编写log4j配置文件:log4j.properties ### set log levels - for more verbose logging change 'info' to 'debug' ### #这里指定了输出info以上级别的信息,并可以输出到控制台stdout,以及file中 log4j.rootLogger=info,stdout,file ### direct log messages to stdout ##…
先说结论 建议优先使用logback 或 log4j2.log4j2 不建议和 slf4j 配合使用,因为格式转换会浪费性能. 名词:jcl 和 jul 标题中的 jcl 是 apache Jakarta commons-logging:jul 则是JDK中的 java.util.logging. 关系 log4j.log4j2.logback以及 jul 是具体的log系统. jcl 和 slf4j 是接口规范.slf4j : Simple Logging Facade for Java. 但…