之前在公司的类路径下存在两个日志相关的配置文件分别是log4j.propertis和logbak.xml。最开始使用log4j,后来改用logbac,然后依赖了许多日志相关的jar包,有时还会因为jar包的冲突报错,挺杂乱的,但是又不知道这些包的作用。之前也一直没探索过日志框架是怎么个运作方式,学习之后来记录一下。
log4j的使用
1.引用log4j的jar包
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2.创建log4j.propertis文件
3.代码中调用创建记录器
final static Logger logger = Logger.getLogger(ApacheSendMail.class);
Logger.getLogger是属于log4j的logger创建方式
点击Logger,我们能看到这是一个类
public class Logger extends Category
slf4j和logback
slf4j我们称之为日志门面,就是日志的抽象层接口。是一种规范。他把日志得众多方法整合起来但不提供具体的实现,由我们自己选择日志实现的组件。比如logback(两者关系类似与我们的service接口和serviceImpl实现)。即使我们之后更换了底层的日志组件,也不会对我我们的代码产生影响。这也是门面模式的一种