zoukankan      html  css  js  c++  java
  • commons-logging和slf4j都是日志的接口

    过上面的图,可以简单的理清关系!

      commons-logging和slf4j都是日志的接口,供用户使用,而没有提供实现!

      log4j,logback等等才是日志的真正实现。

      当我们调用接口时,接口的工厂会自动寻找恰当的实现,返回一个实现的实例给我服务。这些过程都是透明化的,用户不需要进行任何操作!

      这里有个小故事,当年Apache说服log4j以及其他的日志来按照commons-logging的标准编写,但是由于commons-logging的类加载有点问题,实现起来也不友好,因此log4j的作者就创作了slf4j,也因此而与commons-logging两分天下。至于到底使用哪个,由用户来决定吧。

      这样,slf4j出现了,它通过简单的实现就能找到符合自己接口的实现类,如果不是满足自己标准的日志,可以通过一些中间实现比如上面的slf4j-log4j12.jar来进行适配。

    提供有我们两个版本,linux下的tar.gz压缩包,和windows下的zip压缩包。

      下载zip文件后解压,可以找到提供给我们的使用工具包。一般来说,这种开源的项目会为我们提供两种jar包,就拿slf4j(有人叫他,撒拉风four接,很有意思的名字)slf4j.jar、slf4j-source.jar:


    这里slf4j-api-xxx.jar就是它的核心包,而slf4j-api-xxx-source.jar是它的源码包,里面包含了未编译的java文件。
    如果使用slf4j只是接口,如果使用Log4j来写日志,还需要slf4j-log4j12-xxx.jar、log4j-1.2.17.jar
    示例:
    slf4j-api-1.7.7.jar、slf4j-log4j12-1.7.7.jar、log4j-1.2.17.jar

    log4j.properties文件要放在项目根目录下,可通过Thread.currentThread().getContextClassLoader().getResource("").getPath()的值来查看
    或查看Eclipse中的配置,下图中为src目录下

    http://www.cnblogs.com/xing901022/p/4149524.html#commentform

     http://www.cnblogs.com/softidea/p/4152451.html

     

  • 相关阅读:
    Windows系统自带工具的 cmd 命令
    阿里巴巴集团2016校园招聘-Python工程师笔试题(附加题+部分答案)
    小米3刷机说明
    第3章 常用运算符
    第1章Java入门体验
    jQuery表单验证案例
    jQuery超链接提示,提示跟随鼠标动
    [转载]我的Java后端书架 (2016年暖冬4.0版)
    PHP代码重用与函数编写
    PHP数组操作
  • 原文地址:https://www.cnblogs.com/softidea/p/4150039.html
Copyright © 2011-2022 走看看