Slf4j和Log4j

来源:互联网 发布:photoshop软件绿色版 编辑:程序博客网 时间:2024/06/01 08:00
大项目和大系统调试尤为重要,debug并不能完全满足需要。将运行过程中的信息输出到屏幕上面或者文件当中,可以有效地帮助调试。

1.先说slf4j,它是什么,simple logging facade for java,并不是日志工具的实现,而是一种中间连接。好像JDBC,是一种标准,下面有很多Driver实现, JPA也是一种标准,下面有Hibernate之类的实现。它和java打交道,而log4j就相当于具体的数据库Driver,使用slf4j操作就行了,而不用管下面具体用的是哪种日志实现工具。

slf4j自己也有实现,但是并不流行。

2.最常用的就是log4j了

log4j由3个组件构成,Logger,Appender和Layout

Logger是真正的输出的东西
Appender是指定将log输出到哪里
Layout是格式化log的输出方式

log信息被定义为5个级别,DEBUG,INFO,WARN,ERROR和FATAL,输出的时候,只有级别高过所配置的才会被输出,也就是说如果你指定ERROR类型的,那么只有ERROR和FATAL才会被输出

可以使用也可以不使用配置文件。但是注意一句话,在如今的大型开发中,能采用配置文件的地方,一定一定要使用配置文件。

怎样配置呢? 2种方式,xml格式和Java Property格式,貌似还没有见别人配置过。

基本上来说,最简单的使用就是直接调用

Logger log = LoggerFactory.getLogger(XXX.class);

在哪一个类里面log就使用那个类的名字,也就XXX。

在这之前,记住将org.slf4j.Logger 和 org.slf4j.LoggerFactory引入

3.你要使用log4j,必须在工程里面引入log4j的jar包,同时本身就要引入的是slf4j-api的包,如果引入了slf4j-nop包,也就是slf4j的实现,得将其删除掉。那么虽然有了api和实现,但是二者并没有关联,所以还必须引入slf4-log4j的关联包。

相当于使用了适配器模式。

引入包了以后,还得有一个配置文件,log4j.properties才行,直接从Hibernate工程下面找一个复制到工程的src目录下面就行,看看效果。
里面你以后想要输出什么样的日志就在log4j.properties里面进行配置就行了。


原创粉丝点击