java日志: logback和slf4j
2015-09-17 14:28
369 查看
谈到在Java应用程序里写日志,log4j过去是现在可能仍然是事实上的标准。
由Sun提供的JDK内的写日志的方案一直无法全面推广。
造成这种情况的原因当然是其缺乏可配置性和灵活性。
JDK的日志方案对于比较简单的项目来讲当然是一种解决办法,但对于企业级的应用来讲就不然了。
现在,除了log4j之外,另有一种新的比log4j更强大、更快和更灵活的实现已经上市了:logback。
好吧,实际上logback是始于2006年的,但其版本1.0在2011年11月份才发布。
logback开发出来就是为了替代log4j的,它和log4j都是出自同一个开发者。
版本1.0经过多年的测试和开发现已可供使用了(最新版本是1.0.1)。
为了避免由于其版本号这么小而造成误解,应该指出的是,logback已经在业界使用多年了,
总之其版本号绝不是反映其稳定性和功能性方面的声明。
logback同log4j相比具有众多优势。下面列出一部分:
更快的实现
自动重新装载日志配置文件
更好的过滤器(filter)
自动压缩归档的日志文件
堆栈跟踪里包括了Java包(jar文件)的信息
自动删除旧日志归档文件
对于开发者来讲,从log4j转换到logback非常容易。只要在你的Maven POM中转换一个依赖就算准备好了:
?
由于传递性依赖,日志facace,slf4j,也已经添加到你的project中了。
用slf4j做个“Hello World”例子,就象这样:
?
所有其余需要做的就是写一个用来控制日志输出的配置文件
配置文件在log4j里通常叫做log4j.xml,
在logback里是logback.xml,或者,在测试环境里叫做logback-test.xml。
在Maven project里,
logback.xml文件必须放在$PROJECT_HOME/src/main/resources目录中。
logback-test.xml文件必须放在$PROJECT_HOME/src/test/resources目录中。
简单的配置文件可以象这样来写:
?
logback完整的手册 非常详尽,可到这里来阅读。
由Sun提供的JDK内的写日志的方案一直无法全面推广。
造成这种情况的原因当然是其缺乏可配置性和灵活性。
JDK的日志方案对于比较简单的项目来讲当然是一种解决办法,但对于企业级的应用来讲就不然了。
现在,除了log4j之外,另有一种新的比log4j更强大、更快和更灵活的实现已经上市了:logback。
好吧,实际上logback是始于2006年的,但其版本1.0在2011年11月份才发布。
logback开发出来就是为了替代log4j的,它和log4j都是出自同一个开发者。
版本1.0经过多年的测试和开发现已可供使用了(最新版本是1.0.1)。
为了避免由于其版本号这么小而造成误解,应该指出的是,logback已经在业界使用多年了,
总之其版本号绝不是反映其稳定性和功能性方面的声明。
logback同log4j相比具有众多优势。下面列出一部分:
更快的实现
自动重新装载日志配置文件
更好的过滤器(filter)
自动压缩归档的日志文件
堆栈跟踪里包括了Java包(jar文件)的信息
自动删除旧日志归档文件
对于开发者来讲,从log4j转换到logback非常容易。只要在你的Maven POM中转换一个依赖就算准备好了:
?
用slf4j做个“Hello World”例子,就象这样:
?
配置文件在log4j里通常叫做log4j.xml,
在logback里是logback.xml,或者,在测试环境里叫做logback-test.xml。
在Maven project里,
logback.xml文件必须放在$PROJECT_HOME/src/main/resources目录中。
logback-test.xml文件必须放在$PROJECT_HOME/src/test/resources目录中。
简单的配置文件可以象这样来写:
?
相关文章推荐
- spark取得lzo压缩文件报错 java.lang.ClassNotFoundException
- Spring AOP Advices - After returning advice example - xml based configuration
- 使用CXF框架学习搭建WebService(三)
- 通过Java Api与HBase交互(转)
- Spring Resource bundle with ResourceBundleMessageSource example
- JavaBean的get、set方法引发的讨论
- HBase Java API类介绍
- Java中的StringUtils类
- test3.10
- Java在Jar包中初始化log4j的方法
- MyEclipse快捷键大全(Java程序员专供)
- Java Eclipse log4j配置
- eclipse里的一些知识
- SpringMVC4零配置--Web上下文配置【MvcConfig】
- myeclipse从svn检出代码转成maven后格式有误解决方法
- Android开发环境--eclipse和Android Studio
- java国家化
- test3.9
- eclipse快捷键记录
- Spring定时任务的几种实现