Slf4j和Log4j
来源:互联网 发布:锐捷网络的网址 编辑:程序博客网 时间:2024/06/06 09:18
大项目和大系统调试尤为重要,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里面进行配置就行了。
3.你要使用log4j,必须在工程里面引入log4j的jar包,同时本身就要引入的是slf4j-api的包,如果引入了slf4j-nop包,也就是slf4j的实现,得将其删除掉。那么虽然有了api和实现,但是二者并没有关联,所以还必须引入slf4-log4j的关联包。
相当于使用了适配器模式。
引入包了以后,还得有一个配置文件,log4j.properties才行,直接从Hibernate工程下面找一个复制到工程的src目录下面就行,看看效果。
里面你以后想要输出什么样的日志就在log4j.properties里面进行配置就行了。
0 0
- log4j和slf4j
- log4j和slf4j整合
- slf4j和log4j配置
- log4j和slf4j
- Slf4j和Log4j
- log4j和slf4j
- log4j和slf4j
- slf4j和log4j配置
- slf4j和log4j配置
- slf4j和log4j配置
- Slf4j和Log4j
- SLF4J 和log4j
- log4j初始化和slf4j
- SLF4J和log4j
- slf4j和log4j
- log4j初始化和slf4j
- slf4j+log4j和slf4j+logback…
- log4j 和slf4j的比较
- Eclipse maven构建springmvc项目(转)
- Spring 两种注入的方式(Set和构造)实例
- VS2010 Web网站发布详解
- 【Unity3D自学记录】利用WinRAR的自解压功能单文件发布Unity的PC版本包
- ubuntu 安装microsoft office
- Slf4j和Log4j
- 深入理解Flash Player的应用程序域(Application Domains)
- oracle_序列、索引、同义词
- jQuery处理jsonp返回
- UVA 624 CD
- MySQL死锁导致无法查询
- Eclipse常用快捷键
- php curl抓取页面几种方法介绍
- Android4.4 Telephony流程分析——SIM卡开机时的初始化