美文网首页
java日志框架 slf4j+log4j2

java日志框架 slf4j+log4j2

作者: 炒面Z | 来源:发表于2019-04-12 13:06 被阅读0次
  • SLF4J(Simple logging Facade for Java) Log4j logback Log4j2

slf4j 是 JAVA简易日志门面是门面模式的日志框架,并不是日志框架的一种实现.
三种都是具体日志框架的实现,也就是日志库
业界常用的日志门面有两种slf4jcommon-logging
常见的日志库 log4j log4j2 logback log-jdk 其他日志库

常用日志模式

  • slf4j+log4j

log4j 1.X版本由于出现时间比 slf4j 日志门面出现的更早,所以它没有实现slf4j的接口,如果项目中想要使用slf4j+log4j那么就需要使用一个日志门面适配器 slf4j-log4j12来解决接口不兼容的问题

  • slf4j+logback

logback 和 log4j 出自同一个作者 ,logback可以看做是log4j的升级版本,并且它本身就已经实现了slf4j的接口,如果是新工程,也可以使用此日志模式

  • slf4j+log4j2 [墙裂推荐]

log4j2和log4j 也是出自同一个作者,但是log4j2是重新架构的一款日志库,它摒弃了log4j的不足吸收了logback的优点

使用此模式需要以下组件:

  • 日志框架:slf4j
  • 日志实现:log4j2
  • 桥接包:log4j-slf4j-impl
  • log4j2的异步日志 AsyncLogger 依赖于-disruptor
<!--日志包-->
<!-- slf4j核心包-->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>
<!--核心log4j2jar包-->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.8.2</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.8.2</version>
</dependency>
<!--用于与slf4j保持桥接-->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.8.2</version>
</dependency>
<!--需要使用log4j2的AsyncLogger需要包含disruptor-->
<dependency>
    <groupId>com.lmax</groupId>
    <artifactId>disruptor</artifactId>
    <version>3.2.0</version>
</dependency>

如果

参考: https://blog.csdn.net/wangpeng322/article/details/80346075

相关文章

网友评论

      本文标题:java日志框架 slf4j+log4j2

      本文链接:https://www.haomeiwen.com/subject/sdoqwqtx.html