logback日志组件:logback当前分成三个模块,logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块,logback-classic是log4j的一个 改良版本。此外logback-classic完整实现slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。
log4j2日志组件:log4j2是log4j1的升级版,相比log4j1有很大的改进,并且提供了很多在logback中已达到的改进和修复了logback中的一些内在bug,性能上有了很大的提升;依赖log4j-core-xx.jar和log4j-a,其配置文件只能采用.xml, .json或者 .jsn。在默认情况下,系统选择configuration文件的优先级如下:(classpath为scr文件夹)
classpath下名为 log4j- 或者log4j-文件
classpath下名为 log4j2-
classpath下名为 log4j.json 或者log4j.jsn文件
classpath下名为 log4j2.xml
log4j2官网上有很详细的的性能测试对比()
接口级日志组件:
commons-logging:是一个日志接口,可动态的绑定底层日志组件:
使用Commons-logging的LogFactory获取日志处理类时:
1) 首先,寻找org.a 属性配置, 系统环境变量。
2) 否则,利用JDK1.3 开始提供的service 发现机制,会扫描classpah 下的META-INF/services/org.a文件,若找到则装载里面的配置,使用里面的配置。
3) 否则,从Classpath 里寻找common ,找到则根据里面的配置加载。
4) 否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类;
5) 否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类);
6) 否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog
slf4j(simple logging facade for java):不同于common logging,slf是静态绑定,SLF4J 会在编译时会绑定import org.; 该类里面实现对具体日志方案的绑定接入。任何一种基于slf4j 的实现都要有一个这个类。
注意:如果有任意两个实现slf4j 的包同时出现,那么就可能出现问题。
org.: 提供对 log4j 的一种适配实现。
org.: 是一种 simple 实现,会将 log 直接打到控制台。
你可能会发现日志不见了、或都打到控制台了,原因是这两个jar 包里都有各自的 org. ,编译时候绑定的是哪个是不确定的。
日志组件之间的桥接
应用代码中使用slf4j接口,接入具体实现的方法
应用代码中使用别的日志接口,转成slf4j的方法
1.文章《common logging是什么》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《common logging是什么》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好