`

Commons Logging

    博客分类:
  • Java
阅读更多


 


CommonsLogging件的法是将记录日志的功能封装组标准的API,使 其底层实现可以任意修改和变换使用CommonsLogging 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,只要正确置了log4jlog4j.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实现。

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics