`
zy19982004
  • 浏览: 654664 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:249983
社区版块
存档分类
最新评论

Java日志学习一:Log4j和commons-logging的关系

 
阅读更多

一.Apache Log4j

  1.  http://logging.apache.org/log4j/2.x/
  2. 提供了全面的日志管理。

二.Apache commons-logging

  1. http://commons.apache.org/proper/commons-logging/ 
  2. there are many logging implementations out there,The Logging package is an ultra-thin bridge between different logging implementations...
  3. 翻译过来:
  • commons-logging是一个简单的适配器,为各种各样的日志实现提供了统一的接口。
  • 当变化日志实现时,application不需要做任何改变。
  • commons-logging也提供了简单的日志实现,但不推荐使用。

三.commons-logging怎样适配到合适的日志系统

1) 首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类;

2) 如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的Log实现类;

3) 否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类;

4) 否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类);

5) 否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog;

四.使用Log4j和commons-logging 

  1. 项目里加入log4j.jar和commons-logging.jar,加入classpath下。
  2. 新建log4j.properties,加入classpath下。
  3. package com.joyoungzhang.log4j;
    
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    
    public class Log4jModel {
    
    	private static final Log LOG = LogFactory.getLog(Log4jModel.class);
    
    	public static void main(String[] args) {
    		if (LOG.isErrorEnabled()) {
    			LOG.error("error......");
    		}
    		if (LOG.isInfoEnabled()) {
    			LOG.info("info......");
    		}
    		if (LOG.isDebugEnabled()) {
    			LOG.debug("debug......");
    		}
    	}
    
    }
    
    通过http://zy19982004.iteye.com/blog/1991328可以了解到,采用org.apache.commons.logging.impl.LogFactoryImpl作为LogFactory,去实例化一个Log4JLogger对象。

 

五.单独使用Log4j或commons-logging

  1.  单独使用Log4j,在编程复杂度上比一起使用Log4j和commons-logging更低,但整个系统与Log4j是耦合的,有一天我不想使用Log4j了,整个系统都得改。
  2. 单独使用commons-logging当然也可以,但commons-logging的作用体现在“为所有的日志实现提供统一的接口”,本身并没有强大的日志实现系统,所以也不推荐。

六.你也可以阅读以下文档

  1. http://commons.apache.org/proper/commons-logging/
  2. http://logging.apache.org/log4j/2.x/
  3. http://www.cnblogs.com/80houboy/archive/2012/01/02/commons-logging_commons-log4j.html

七.附件内容:commons-logging和Log4j整合的demo

  • Kit.zip (832.6 KB)
  • 下载次数: 39
1
0
分享到:
评论

相关推荐

    apache-log4j-2.3-bin和commons-logging-1.2

    官网下载,未作任何改动

    java日志记录组件log4j-1.2.14和commons-logging-1.1.1

    本压缩包内附带log4j-1.2.14和commons-logging-1.1.1,Java日志记录行业标准组件。不要分啦。鄙视开源组件还收费的猥琐鬼。

    commons-logging-1.1.1

    Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口,它自身的日志功能平常弱(只有一个简单的SimpleLog?...另外一个我能想到的“同时使用commons-logging和Log4j”的原因是,简化使用和配置

    java写日志的jar包——commons-logging-1.0.4.jar

    commons-logging-1.0.4.jar可以引入: org.apache.commons.logging.Log,org.apache.commons.logging.LogFactory等,用于写日志。 免费送,只要1积分

    commons-logging.jra包

    可是现在的开源项目都使用的是 log4j,log4j 已经成了事实上的标准,但由于又有一部分开发者在使用 sun logger,因此 apache 才推出 commons-logging,使得我们不必关注我们正在使用何种日志工具。

    commons-logging

    commons-logging配合log4j,java log ,打印输出日志必备

    logging和lo4j的jar大全

    Apache针对不同的语言平台为做了一系列日志工具包,可应用于java、.net、php、c++,这些日志包都是免费的,使用非常方便,可以极大提高...现在,Apache通用日志工具commons-logging和Log4j已经成为Java日志的标准工具。

    org-apache-commons-logging.jar

    Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志...

    log4j java项目案例

    log4j算是比较好用的日志操作插件了吧,一般与commons-logging一起使用,一直没时间去搞,现在空出了点儿时间,写了一个定时调度程序,将日志输出到指定的文件,简单了解就可以了,此项目属于java项目,eclipse和...

    java log 日志示例程序

    java日志实现,结合log4j和commons-logging两个jar包,实现简单的LogDemo。

    考试系统源码java-org.ops4j.pax.logging:OSGi日志框架实现。支持SLF4J、LOG4J、JCL等

    pax-logging-log4j2 (log4J2) pax-logging-logback (logback) pax-logging-log4j1在 2.0.0 版本之前被命名为pax-logging-service 。 不同的日志 API 基本接口org.osgi.service.log.LogService从OSGi的纲要规范的第...

    log4j.properties

    commons-logging-1.2.jar,log4j-1.2.16.jar,三个文件一起组成一个完整的日志输出,Apache的Common Logging只是一个高层的日志框架,本身并没有实现真正的写日志能力,而是依赖其它的日志系统如Log4j或者java本身的...

    Spring 3.0所需jar文件和对应的配置文件

    Log4j日志记录所需jar: log4j-1.2.15 commons-logging Oracle数据库连接所需jar: ojdbc15 Spring 3.0.5所含jar: org.springframework.** ... applicationContext.xml:不同版本的jar对应不同的配置文件描述,重要...

    基于Java日志平台的访问链路追踪实战(1.01G)

    01-日志专题-java日志体系基础 ---01-课程简介及学习目标.mp4 ---02-java日志体系概述.mp4 ---03-系统日志与log4j日志简介.mp4 ---04-log4j实例代码展示.mp4 ---05-jul的诞生与代码展示.mp4 ---06-jcl的历史背景与...

    常用日志控件的一个实例

    1:JDKLogTest.java JDK自带的日志控件,相对... commons-logging控件不是日志控件,没有日志功能,他只是统一了JDK Logging与Log4的API,并且将日志功能交给JDK Logging或Log4,对于不能确定日志方式的系统,建议使用。

    日志框架commons-logging和Log4j应用

    本课程主要讲解日志框架commons-logging和Log4j基本应用和分析,适合于所有java开发人员

    基于Java日志平台的访问链路追踪实战(1.34G)

    01-日志专题-java日志体系基础 ---01-课程简介及学习目标.mp4 ---02-java日志体系概述.mp4 ---03-系统日志与log4j日志简介.mp4 ---04-log4j实例代码展示.mp4 ---05-jul的诞生与代码展示.mp4 ---06-jcl的历史背景与...

    log4j-1.2.17

    java log打印必备.配合Commons-logging。输出log日志,

    spring结合mongodb例子(maven java project)

    log4j:1.2.16 junit:4.12 commons-logging:1.1.1 maven:3 注意:spring的不同版本与mongodb结合可能会有问题,自测:spring4.2.1结合mongodb会报错:**springframework.core.context.**service 此外,例子同时涉及:...

Global site tag (gtag.js) - Google Analytics