Jakarta common logging 简介 以及和其它日志系统结合使用

一、Jakarta commons logging(JCL)

      Commons Logging 的 目的是为 "所有的Java日志实现"提供一个统一的接口,它自身也提供一个日志的实现,但是功能非常常弱(SimpleLog)。所以一般不会单独使用它. 他允许开发人员使用不同的具体日志实现工具: Log4j, Jdk自带的日志(JUL) ,logback等(如果要用logback 的实现,需要jcl-over-slf4j-[version].jar 包) 开发人员可以不需要改动代码进行日志实现的切换

      JCL 有两个基本的抽象类:Log(基本记录器)和LogFactory(负责创建Log实例)。当commons-logging.jar被加入到

CLASSPATH之后,它会心可能合理地猜测你喜欢的日志工具,然后进行自我设置,用户根本不需要做任何设置。默认的LogFactory是按照下列的步骤去发现并决定那个日志工具将被使用的(按照顺序,寻找过程如果条件符合将终止并返回) :

     a、 寻找属性: org.apache.commons.logging.Log的值,一般在classpath 下的 commons-                                      logging.properties 文件里面配置

     b、如果应用程序中有log4j log 系统 实现,就用log4j相关的包装类: Log4JLogger 该类继承与 Log (基本记录器)

     c、如果应用程序用JDK1.4 的日志实现, 就用JDK1.4的相关包装类:Jdk14Logger 该类继承与 Log (基本记录器)

     d、如果以上都没有配置,就使用默认的自带的简单实现 SimpleLog

     详细请参见 http://commons.apache.org/logging/guide.html#Configuration

1.1、 JCL 和 Log4j 结合使用

 import org.apache.commons.logging.Log;

 import org.apache.commons.logging.LogFactory;

   public class JclLog {

     private static Log log = LogFactory.getLog(JclLog.class);

         //... 省略

不需要特殊配置,只需要把log4j的jar 放入classpath 下,并把log4j的配置(log4j.properties文件放入classpath下就行) 系统会自动搜素log4j 的实现, 并使用它。 也可通过手工配置,创建commons-logging.properties 文件. 放在classpath 下. 在其中加入以下配置:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

1.2  JCL 和 JUL (JDK1.4)结合

  需要在commons-logging.properties 文件中配置换成如下配置:

  org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger

  配置java.util.loggging 的配置文件,默认的配置文件为jre/lib/目录下logging.properties 文件,你可以创建你自己

  的配置文件mylogging.properties 见附件jcl.rar

  然后运行时需要加入如下参数 -Djava.util.logging.config.file=mylogging.properties . 文件可以写全路径,否则就是当前路径下。如果用eclipse 运行需要把参数加入到VM arguments.


1.3 使用JCL 自带的 SimpleLog

      需要在commons-logging.properties 文件中配置换成如下配置:

   org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

   然后创建simplelog.properties 的SimpleLog 的配置文件。 放在classpath下。  simplelog.properties 文件见附件jcl.rar

1.4 把JCL 换成logback。

      把classpath 下的 commons-logging.*.jar 的包去掉, 并加上jcl-over-slf4j-*.jar 和 logback-*.jar 包,并在classpath 下加上logback 系统的配置 logback.xml 文件 见附件jcl.rar 

猜你喜欢

转载自zhoujian1982318.iteye.com/blog/1703893