由Sun提供的JDK内的写日志的方案一直无法全面推广。造成这种情况的原因当然是其缺乏可配置性和灵活性。JDK的日志方案对于比较简单的项目来讲当然是一种解决办法,但对于企业级的应用来讲就不然了。
谈到在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中转换一个依赖就算准备好了:
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>1.0.0</version>
- </dependency>
由于传递性依赖,日志facace,slf4j,也已经添加到你的project中了。
用slf4j做个“Hello World”例子,就象这样:
- package demo;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- public class HelloWorld {
- public static void main(String[] args) {
- Logger log = LoggerFactory.getLogger(HelloWorld.class);
- log.info("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目录中。简单的配置文件可以象这样来写:
- <configuration>
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <!-- encoders are assigned the type
- ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
- <encoder>
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
- </encoder>
- </appender>
- <root level="debug">
- <appender-ref ref="STDOUT" />
- </root>
- </configuration>
logback完整的手册 非常详尽,可到这里来阅读。
原文链接:http://www.oschina.net/translate/logging-in-java-switching-to-logback
相关推荐
谈到在Java应用程序里写日志,log4j过去是现在可能仍然是事实上的标准。 由Sun提供的JDK内的写日志的方案一直无法全面推广。造成这种情况的原因当然是其缺乏可配置性和灵活性。JDK的日志方案对于比较简单的项目...
logback+slf4j 异步日志输出到不同级别的文件-配置文件,下载即可使用。结合lombok【@slf4j】即可方便愉快的输出日志了 666
log4j-slf4j+logback1.3.0 共六个jar包
logback+slf4j自定义appender输出的使用方法,让你明白什么是自定义输出意思使用方式。
只要里面的logback-classic-1.1.7,logback-core-1.1.7,slf4j-api-1.7.21的JAR就可以打印出日志信息,而带有source表示对应的JAR包的源代码。可以要也可以不要
logbackーslf4j-配置文件实例,比较难得的资料,希望对大家有帮助.
logback + slf4j web项目源码,同时包含一些常用的json和xml互相转化 ,以及json与bean互相转化实例
Logback+slf4j【进阶】【实例】.docx
logback 1.2.6 和 slf4j 1.7.32
https://github.com/tomcat-slf4j-logback/tomcat-slf4j-logback上的jar与源码,网络不好,下载不易,特此分享。包括: logback-1.2.3.zip Tomcat7.0.82\tomcat-juli-7.0.82-slf4j-1.7.25-logback-1.2.3.zip Tomcat...
slf4j日志demo项目 logback.xml配置详解,slf4j日志demo项目 logback.xml配置详解,slf4j日志demo项目 logback.xml配置详解,slf4j日志demo项目 logback.xml配置详解
NULL 博文链接:https://nethub2.iteye.com/blog/2380050
NULL 博文链接:https://xiayingjie.iteye.com/blog/828498
Spring Boot SLF4j重新登录文章链接: :
janino-2.3.17.jar jcl-over-slf4j-1.6.1.jar log4j-1.2.8.jar logback-access-0.9.24.jar logback-classic-0.9.24.jar logback-core-0.9.24.jar ... slf4j-1.6.1+logback-0.9.24.rar slf4j-api-1.6.1.jar
SpringBoot工程自带logback和slf4j的依赖,所以重点放在编写配置文件上,需要引入什么依赖,日志依赖冲突统统都不需要我们管了。 logback框架会默认加载classpath下命名为logback-spring.xml或logback.xml的配置文件...
在日常工程开发中,日志是非常重要的一部分,通过日志可以迅速定位线上问题,日志框架也有很多选择,日志框架Logback和Log4j是同一个作者,Logback相比于Log4j,性能提高了10倍以上的性能,占用的内存也变小了,并且...
slf4j,logback.xml
Slf4j+logback实现logback测试,Slf4j+logback实现logback测试
LoggerUtil.getLogger(name).info();可实现对需要打印的事务每天打印生成一个文件,下载后文件加包名可直接使用,内含jar包