日志的实现各自有各自的不同,如果一个项目中引入了很多依赖,每个依赖又用了不同的日志实现,配置日志的时候就会非常麻烦,所以有了上面的门面接口。其中用的最多的是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:再新建一个项目:
添加依赖
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
编写配置文件:(log4j2与log4j稍有区别)
logback:
新建项目,引入依赖:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
编写配置文件:
注意:
也就是说logback中已经默认实现了slf4j的标准。
log4j和log4f2都是其专属的logger,没有默认实现slf4j:
如何将这几个基础库升级到slf4j标准:
- 对于log4j: pom中添加slf4j-log4j12这个依赖
- 对于log4j2: pom中添加log4j-slf4j-impl这个依赖
未完。。。