Java日志:迁移到Logback和SLF4J
作者:网络转载 发布时间:[ 2013/2/22 10:23:42 ] 推荐标签:
谈到在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>
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11