当前位置:主页 > java教程 > Java日志组件间关系详解

关于Java日志组件间关系的知识点分析

发布:2020-07-06 10:44:23 50


给网友朋友们带来一篇相关的编程文章,网友弓思菱根据主题投稿了本篇教程内容,涉及到Java、日志组件、Java日志组件间关系详解相关内容,已被859网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

Java日志组件间关系详解

一、 总览

本文章不对日志组件进行优劣评价,只是对关系进行对比。在日志中组件中存在这样的几种关系, 这几种关系理解清楚, 有助于我们对日志的引入和使用。

Java日志组件间关系详解

二、 日志门面

日志门面就是指直接引入我们程序中进行记录日志的日志组件,作为日志门面的这些组件会在程序中直接依赖, 上图中就列举的几种常见的日志门面的组件。像一些软件直接回默认使用一些组件, 比如Spring使用的就是commons-logging, activiti使用的日志门面就是slf4j, 其他的软件也都会选用自己认为好用的日志门面。

三、 日志实现

除了log4j既是门面又是实现之外, commons-logging和slf4j 都是能直接打印日志的, 都需要依赖一个日志实现来打印日志,上图中也举了几个日志实现。

四、桥接方式

slf4j默认和logback做了一些桥接的处理,那么桥接的作用是什么呢, 假如我想使用slf4j做为实现的门面,然而同时我想使用log4j作为真正的日志实现,这个时候就需要slf4j-logrj12 jar包, 现在应该可以理解桥接方式了。

五、 改变依赖

这里的作用是为了避免一些冲突, 例如在这样的场景下,我们使用spring做为开发,而我们开发的软件要使用的是slf4j作为日志门面,这个时候因为Spirng默认使用的是commons-logging作为日志门面,这个时候就会发生一些冲突, 所以我们可以引入jcl-over-slf4j, 通过这个组件把commons-logging覆盖掉, 为了把历史软件内部的依赖覆盖掉, 就可通过这个方式改变依赖。


参考资料

相关文章

网友讨论