介绍
slf4j只是一个日志标准,并不是日志系统的具体实现。
slf4j只做两件事情:
- 提供日志接口
- 提供获取具体日志对象的方法
为什么用slf4j
之前
之前开发时,不同的程序员、不同的java框架,会用不同的 日志框架,如:log4j、logback,那么就需要 编写不同的代码,如下图:
类比,一个人要与不同的外国人沟通,需要掌握各种的语言:
解决方法
用 翻译机 翻译成不同的语言,不需要 掌握各种的语言
slf4j就相当于 翻译机,只需要记住 slf4j 的api,就可以调用不同 日志框架:
slf4j 不提供 具体功能,它必须要搭配 其他日志框架才能使用
Commons Logging
Commons Logging与slf4j功能类似,但出现更早
slf4j与之相比,功能更加强大,支持 占位符的打印方式:
String name="李雷";
String sex="男";
log.trace("姓名:{},性别:{}!",name,sex);
Commons Logging需要拼接字符串
String name="李雷";
String sex="男";
log.trace("姓名:"+name+",性别:"+sex+"!");
日志框架
默认支持slf4j
- logback
- slf4j-simple
log4j
不直接实现slf4j,需要 slf4j-log4j12 来实现slf4j。



