Java日志:迁移到Logback和SLF4J

谈到在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中转换一个依赖就算准备好了:

 
 
 
  1.      
  2.     ch.qos.logback     
  3.     logback-classic     
  4.     1.0.0     
  5.    

由于传递性依赖,日志facace,slf4j,也已经添加到你的project中了。

用slf4j做个“Hello World”例子,就象这样:

 
 
 
  1. package demo;   
  2. import org.slf4j.Logger;   
  3. import org.slf4j.LoggerFactory;   
  4. public class HelloWorld {   
  5.   public static void main(String[] args) {   
  6.    Logger log = LoggerFactory.getLogger(HelloWorld.class);   
  7.    log.info("Hello World");   
  8.   }   
  9. }   

所有其余需要做的就是写一个用来控制日志输出的配置文件。

配置文件在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目录中。简单的配置文件可以象这样来写:

 
 
 
  1.    
  2.     
  3.      
  4.      
  5.    %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n   
  6.      
  7.     
  8.     
  9.      
  10.     
  11.    

logback完整的手册 非常详尽,可到这里来阅读。

原文链接:http://www.oschina.net/translate/logging-in-java-switching-to-logback

网页标题:Java日志:迁移到Logback和SLF4J
文章来源:http://www.shufengxianlan.com/qtweb/news40/248590.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联