日志的实现各自有各自的不同,如果一个项目中引入了很多依赖,每个依赖又用了不同的日志实现,配置日志的时候就会非常麻烦,所以有了上面的门面接口。其中用的最多的是slf4j。
slf4j 案例:
log4j:
1. 添加依赖:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
2. 创建log4j.properties配置文件:
log4j.rootLogger=INFO,console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.out log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %c: %m%n
3.使用:
log4j2:再新建一个项目:
1.添加依赖
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.12.1</version> </dependency>
2.编写配置文件:(log4j2与log4j稍有区别)
logback:
1.新建项目,引入依赖:
dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>
2.编写配置文件:
注意:
也就是说logback中已经默认实现了slf4j的标准。
log4j和log4f2都是其专属的logger,没有默认实现slf4j:
如何将这几个基础库升级到slf4j标准:
- 对于log4j:pom中添加slf4j-log4j12这个依赖
- 对于log4j2:pom中添加log4j-slf4j-impl这个依赖
参考:https://blog.csdn.net/qq_39969226/article/details/106684031