背景
在项目开发中,记录日志是必做的一件事情。日志的实现有很多种:Logback,Log4j2,log4j,Java Util Logging等等。
而slf4j是一个适配层,由适配层决定使用哪一种日志系统,而调用端只需要做的事情就是打印日志而不需要关心如何打印日志
slf4j是一个日志标准,并不是日志系统的具体实现。理解这句话非常重要,slf4j只做两件事情:
- 提供日志接口
- 提供获取具体日志对象的方法
使用slf4j的姿势是不是这样的?
public class LogExample {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
}
每个类都要使用LoggerFactory生成一个Logger实例,复制代码时容易把**.class忘记修改,使我们对这样用法感到很无奈。幸好,lombok提供了一个注解帮我们减少了错误和减少代码量,提升了工作效率。
Slf4j注解使用示例
添加依赖