Apache组织开发了一套用于支持Logging的Log4J,Java 1.4版本也引入了一套内置的 Logging框架,如果开发者想在这两套Logging系统之间自由的切换,该怎么办呢?答案就是,使用Commons Logging。 Commons Logging定义了一套抽象的Logging接口,用户可以通过配置,使这些接口指向任何一个已存在的Logging系统。
•使用抽象Logging接口
问题:
你在编写一个可以重复使用的库,需要写入Log信息,但你不想使你的Logging功能绑定在Apache Log4J或者JDK 1.4 Logging框架上。
解决方案:
public static void main(String[] args) {//自己替换[] System.setProperty(”org.apache.commons.logging.Log”, “org.apache.commons.logging.impl.Jdk14Logger”); Log log = LogFactory.getLog(”com.discursive.jccook.SomeApp”); if (log.isTraceEnabled()) { log.trace(”This is a trace message”); } if (log.isDebugEnabled()) { log.debug(”This is a debug message”); } log.info(”This is an informational message”); log.warn(”This is a warning”); log.error(”This is an error”); log.fatal(”This is fatal”); } |
LogFactory.getLog方法会根据底层环境返回一个适当的Log实现。如果用户想指定一个具体的Logging系统实现,可以设置org.apache.commons.logging.Log系统属性。例如:
System.setProperty(”org.apache.commons.logging.Log”,
“org.apache.commons.logging.impl.Log4JLogger”);
这样就会使用Log4J作为Logging系统。
org.apache.commons.logging.Log可以设定为:
•org.apache.commons.logging.impl.Log4JLogger 使用Log4J
•org.apache.commons.logging.impl.Jdk14Logger 使用JDK 1.4 Logging框架
•org.apache.commons.logging.impl.SimpleLog 使用Commons Logging内置的简单Log实现
其他:
总结一下,Commons Logging会按照下列顺序来指定具体的Log实现。
•如果定义了org.apache.commons.logging.Log系统参数,实用指定的Logging实现。
•如果在CLASSPATH里发现了Log4J,使用Log4J。
•如果使用的是JDK1.4,使用JDK1.4内置的Logging框架。
•如果都没有找到,则使用Commons Logging内置的简单Log实现。
分享到:
相关推荐
在标题"commons-logging-1.2_commonslogging_"中提到的"commons-logging-1.2.jar"就是这个库的1.2版本,它是Spring框架中常用的一个依赖,用于处理日志记录。 Spring框架广泛使用Commons Logging作为其默认的日志...
commons-logging-1.0-javadoc.jar, commons-logging-1.0.1-javadoc.jar, commons-logging-1.0.1.jar, commons-logging-1.0.2-javadoc.jar, commons-logging-1.0.2.jar, commons-logging-1.0.3-javadoc.jar, commons-...
关于Commons Logging的关键知识点包括: 1. **接口和适配器**:Commons Logging的核心是提供一系列的接口,如`org.apache.commons.logging.Log`,`org.apache.commons.logging.LogFactory`。这些接口定义了日志操作...
Commons-logging API apache Commons logging API
《Apache Commons Logging详解》 Apache Commons Logging,简称为Commons Logging,是Apache软件基金会开发的一个开源日志框架,主要用于提供一个统一的日志API,让开发者能够在不改变代码的情况下,自由切换不同的...
Apache Commons Logging 是一个Java日志框架的抽象层,它允许开发者在不同的日志实现之间进行切换,而无需修改代码。这个"commons-logging-1.2-bin.zip"压缩包包含了Apache Commons Logging库的1.2版本,这是一个...
Commons Logging 是 Apache 组织提供的一款轻量级的日志记录工具库,它的主要目标是为 Java 开发者提供一个简单的接口来使用各种日志框架,如 Log4j、Java Util Logging(JUL)或者 Simple Logging Facade for Java...
使用Commons Logging时,开发者不需要直接实例化特定日志系统的类,而是通过Commons Logging提供的接口(如`org.apache.commons.logging.Log`和`org.apache.commons.logging.LogFactory`)来创建和使用日志对象。...
3. **LICENSE** 和 **NOTICE** 文件:提供了关于 Commons Logging 许可证和版权的详细信息,对于开源项目来说,这些都是至关重要的法律文档。 4. **README.txt**:简要介绍了 Commons Logging 项目,包括其目的、...
Spring 使用 Commons Logging 来输出框架内部的调试信息,这使得开发者可以根据需要调整日志级别,获取关于 Spring 框架运行的详细信息。"api发送信息的包" 可能指的是 Commons Logging 提供的 API,这些 API 允许...
Apache Commons Logging 是一个Java日志库,它提供了一个API,允许开发者在他们的应用程序中使用不同的日志框架,而无需直接依赖具体的实现。这个库的主要目标是解决Java日志的分散问题,因为不同的开源项目可能会...
Apache Commons Logging 1.2
《Apache Commons Logging详解》 Apache Commons Logging,简称为Commons Logging,是Apache软件基金会开发的一个Java日志框架。它提供了一种抽象层,允许开发者在不同的日志实现之间进行选择,而无需修改代码中的...
spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & commons-logging spring-framework & ...
在标题中提到的"commons-logging-1.2-bin.zip"是一个包含Commons Logging 1.2版本的二进制包,主要包含两个文件:`commons-logging-1.2.jar`和`commons-logging-1.2-javadoc.jar`。 1. `commons-logging-1.2.jar`:...
《Apache Commons Logging详解》 Apache Commons Logging,简称为Commons Logging,是Apache软件基金会开发的一个开源日志组件。这个库的主要目标是为Java应用程序提供一个简单且统一的日志接口,使得开发者可以在...
Apache Commons Logging 是一个Java日志框架的抽象层,它允许应用程序使用多种不同的日志实现,如Log4j、Java Util Logging或JDK14 Logging。标题提到的"commons-logging-1.2-bin2014最新版"是Apache Commons ...
Apache Commons Logging 是一个Java日志框架,它提供了一个接口,允许开发者在运行时选择不同的日志实现。"commons-logging-1.1"是这个库的一个版本,它包含了一组API,使得应用程序能够以统一的方式处理日志记录,...
《Apache Commons Logging详解》 Apache Commons Logging(简称Commons Logging)是Apache软件基金会的一个开源项目,它是Java平台上的一个轻量级的日志记录抽象层。这个库的主要目标是为Java应用程序提供一个简单...