日志框架详解(slf4j,log4j,logback)

我相信对于绝大多数小白来说,日志框架这一块会特别的头痛,特别是在一个大项目中,POM文件中包含了各种各样的日志依赖,然后各种各样的日志依赖(slf4j,logging,log4j,logback等)又相互冲突,导致我们经常不知道该怎么办,对于输出的日志格式也经常是随缘的,系统怎么输出就怎么看,根本拿它没有办法。现在就让我们来全面的了解一些不同的日志框架,使其可以很好的为我们所用,成为我们消灭bug的一个好帮手。


The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time

我们日常比较常见的日志框架有slf4j、logging、log2j,logback,slf4j的全称是Simple Logging Faced for Java,采用的是一种门面模式,是各种日志的系统实现(logging,log4j,logback)的抽象层或者接口层。因此我们就可以把slf4j理解成各种日志框架的api,这样我们在需要使用日志的地方,使用的是slf4j的api,而不是特定的日志框架的api去打印日志,提高了可扩展性和可维护性。

对于slf4j在日志系统中的地位,官网中的示意图如下:


接下来看一些日志框架使用的例子

第一种只引入slf4j

上面的意思是,在运行的时候,找不到日志的实现,所以slf4j默认的使用了一个什么也不做的实现。


第二种引入slf4j和simple

可见日志已经打印出来了,而且还不需要任何的配置。


第三种使用slf4j和log4j


在没有配置log4j输出格式的时候,系统就会进行提醒,不会打印出日志。进行如下配置:


第四种使用slf4j和jdk


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容