slf4j是日志框架的标准,即通用接口,实现了日志框架一些通用的api,而log4j和logback是众多日志框架中的几种。 log4j和logback可以单独的使用,也可以绑定slf4j一起使用。
1、单独使用时分别调用框架自己的方法来输出日志信息。
2、绑定slf4j一起使用时则是调用slf4j的api来输出日志信息。
语法设计角度上,slf4j有{}占位符,而log4j需要用“+”来连接字符串,既不利于阅读,同时消耗了内存(heap memory)。
log4j和logback的对比
log4j是apache实现的一个开源日志组件,是对slf4j的一种非原生的实现;
logback同样是由log4j的作者设计完成的,拥有更好的特性,可以用来取代log4j的一个日志框架,对slf4j进行了原生实现,应用程序调用slf4j api,而日志的输出最终是由底层的日志框架来实现的。
logback是直接实现了slf4j的接口,因此相对原生接口来说几乎不会消耗内存和计算开销;而log4j在调用slf4j时需要一个适配层。
slf4j绑定log4j的用法
pom.xml添加依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
此时会自动添加三个jar包。
配置文件
log4j的正常运行需要配置文件,为其配置root、appender、layout等信息。配置文件类型(二选一):
1、log4j.xml
扫描二维码关注公众号,回复:
7619819 查看本文章
2、log4j.properties。
slf4j绑定logback的用法
pom.xml添加依赖
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
</dependency>
1、lockback.xml
2、在lockback.xml引入properties。
<property file="classpath:config.properties" />
<appender xxx>
<File>${log.path}</File>
</appender>