读书人

遗弃log4j改用logback

发布时间: 2012-06-28 15:20:03 作者: rapoo

抛弃log4j改用logback

公司的新平台最近日志总出问题:

- 满容量后不自动备份,并且把该日志内容全部刷掉。。

- 满容量后不自动备份,继续写,导致日志文件异常之大。。

?

关于log4j的配置,RollingFileAppender几年来都是这么用的没什么好说的,

问题原因我还没找到,但估计多少和JDK升级到1.6有关

?

分割线============================================

?

logback的主页,链接一下:http://logback.qos.ch/

logback是log4j的创始人开发的新一代日志组件,性能更好,功能更强大!

?

logback实现了SLF4J,所以我们可以直接依赖SLF4J的接口~~

?

需要的jar:

slf4j-api-1.6.3.jar;

logback-core-0.9.30.jar

logback-classic-0.9.30.jar

?

可选的jar:

logback-access-0.9.30.jar

?

slf4j的版本要求不高,看教程是1.6.2,我用的是1.6.3

logback-access这个是Web控制台,JavaEE的可以考虑试试。

?

调用:

?

import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Hello {/** * @param args */public static void main(String[] args) {Logger log = LoggerFactory.getLogger(Hello.class);log.info("hello world");}}

注意,依赖的是SLF4J

然后运行一下就能看到效果了。

?

这里logback有一个默认的日志配置,如果classpath中找不到logback.xml或logback-test.xml,就会启用这个默认的配置。

?

关于logback的配置,总体思路和log4j类似,内置的日志类型更为丰富,详见:http://logback.qos.ch/manual/index.html

?

这里给一个我使用下来觉得不错的配置,供大家参考:

?

<configuration scan="true" scanPeriod="30 seconds"><appender name="ROLLING" /></root><logger name="myApp"><appender-ref ref="ROLLING" /></logger></configuration>
?

最后说一下改造后的效果:

恩,非常理想,为啥我不早点用这好东西遗弃log4j改用logback

读书人网 >软件架构设计

热点推荐