Commons项目Logging组件的办法是将记录日志的功能封装为一组标准的API,使 其底层实现可以任意修改和变换。使用Commons的Logging API非常简单。只需导入Logging的两个必须类、创建一个Log的静态实例
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class CommonLogTest {
private static Log log = LogFactory.getLog(CommonLogTest.class);
public static void main(String[] args) {
log.error("ERROR");
log.debug("DEBUG");
log.warn("WARN");
log.info("INFO");
log.trace("TRACE");
System.out.println(log.getClass());
}
}
1. 在不指定任何属性的情况下运行这个程序,这时默认将使用Jdk14Logger;
2. 然后指定系统属性 -Jorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog 再运行程序,这时日志记录工具将是SimpleLog;
3. 把Log4J的类放入CLASSPATH,只要正确设置了log4j的log4j.properties配置文件,就可以得到Log4JLogger输出 的信息。如果没有设置log4j.properties配置文件,则会输出以下提示:
class org.apache.commons.logging.impl.Log4JLogger
log4j:WARN No appenders could be found for logger (CommonLogTest).
log4j:WARN Please initialize the log4j system properly.
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 API apache Commons logging API
Apache Commons Logging 是一个Java日志库,它提供了一个API,允许开发者在他们的应用程序中使用不同的日志框架,而无需直接依赖具体的实现。这个库的主要目标是解决Java日志的分散问题,因为不同的开源项目可能会...
Apache Commons Logging 1.2
Commons Logging 是 Apache 组织提供的一款轻量级的日志记录工具库,它的主要目标是为 Java 开发者提供一个简单的接口来使用各种日志框架,如 Log4j、Java Util Logging(JUL)或者 Simple Logging Facade for Java...
Commons Logging是Apache软件基金会开发的一个轻量级的日志记录工具包,它是Java日志框架的一个抽象层。这篇博文“Commons Logging 源码解析一”可能涉及到对这个库的内部工作原理、设计模式以及如何使用的深入探讨...
Commons Logging是Apache软件基金会开发的一个Java日志接口库,它是Java日志API的一个轻量级实现,旨在为各种日志框架提供一个统一的抽象层。这个库的主要目的是允许开发者在不修改代码的情况下更换底层的日志实现,...
《Apache Commons Logging详解》 Apache Commons Logging,简称为Commons Logging,是Apache软件基金会开发的一个Java日志框架。它提供了一种抽象层,允许开发者在不同的日志实现之间进行选择,而无需修改代码中的...
Commons Logging 是一个 Java 平台的日志抽象层库,它为不同的日志框架提供了一个统一的接口,使得开发者能够在不改变代码的情况下切换底层的日志实现。`commons-logging-1.2-bin.zip` 是 Apache Commons Logging ...
Apache Commons Logging 是一个Java日志框架的抽象层,它允许开发者在不同的日志实现之间进行切换,而无需修改代码。这个"commons-logging-1.2-bin.zip"压缩包包含了Apache Commons Logging库的1.2版本,这是一个...
Apache Commons Logging是一个开源Java日志框架,它是Apache软件基金会的一部分,广泛用于Java应用程序中。这个压缩包"apache-commons-logging.zip"包含了Apache Commons Logging库的源代码或编译后的JAR文件,允许...
Apache Commons Logging 是一个Java日志框架,它提供了一个接口,允许开发者在运行时选择不同的日志实现。"commons-logging-1.1"是这个库的一个版本,它包含了一组API,使得应用程序能够以统一的方式处理日志记录,...
《Apache Commons Logging与Log4j详解》 Apache Commons Logging(简称Commons Logging)是一个轻量级的日志API,它的设计目标是为Java应用程序提供一个独立于具体日志实现的抽象层。通过Commons Logging,开发者...
《Apache Commons Logging详解》 Apache Commons Logging,简称为Commons Logging,是Apache软件基金会开发的一个开源日志框架,主要用于提供一个统一的日志API,让开发者能够在不改变代码的情况下,自由切换不同的...
Apache Commons Logging 是一个轻量级的日志抽象层,它允许应用程序使用多种日志框架,而无需直接依赖具体的实现。这个库的主要目标是提供一个简单的接口,使得开发人员可以在多个不同的日志API之间进行切换,而不...
使用Commons Logging时,开发者不需要直接实例化特定日志系统的类,而是通过Commons Logging提供的接口(如`org.apache.commons.logging.Log`和`org.apache.commons.logging.LogFactory`)来创建和使用日志对象。...
标题“commons-logging-1.1.1-src.tar.gz”所指的,是Apache Commons Logging项目的源代码包,版本为1.1.1。Apache Commons Logging是一个轻量级的日志记录API,它允许应用程序在不依赖特定日志实现的情况下进行日志...
Commons Logging 是一个 Java 平台上的日志抽象层库,由 Apache 软件基金会开发。这个库的主要目的是为各种不同的日志框架提供一个统一的接口,使得开发者可以在不更改代码的情况下切换不同的日志实现。在给定的标题...
SLF4J(Simple Logging Facade for Java)和Apache Commons Logging是两个在Java开发中广泛使用的日志框架。它们提供了一种抽象层,允许开发者在不修改代码的情况下切换不同的日志实现,如Log4j、Java Util Logging ...
"日志框架commons-logging"是Apache软件基金会提供的一款轻量级的日志接口,它是Spring MVC框架中常用的日志解决方案之一。本篇文章将详细介绍commons-logging及其在Spring MVC中的应用。 首先,我们要理解什么是...