commons-logging日志工具[续。。。。。。]
2012-09-13 23:05
197 查看
3.前面说到commons-logging控件,commons-logging为apche common类库中的一员,Apache commons类库是一个通用的类库,
提供了基础的功能,例如commons-fileupload,commons-httpclient,commons-io等等。
commons-logging能够选择使用Log4j还是JDK Logging,但是不依赖于Log4j,Jdk Logging的API.如果项目的classpath中包含log4j
的类库,则使用Log4j,否则使用JDK Logging.使用commons-logging能够灵活的选择使用哪中日志方式,而不需要修改源代码。
commons-logging的使用类似Log4j,他们的级别以使用规则是一样的。
a)把commons-logging-1.0.4.jar添加到classpath,。
b)编写代码如下:
注:
把log4j.jar移去classpath,此时日志输出为:
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
信息: info
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
警告: warn
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
严重: error
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
严重: fatal
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
信息: info一个异常
java.lang.NullPointerException
at com.logging.commons.CommonsLog.main(CommonsLog.java:18)
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
警告: warn一个异常
java.lang.NullPointerException
at com.logging.commons.CommonsLog.main(CommonsLog.java:18)
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
严重: error一个异常
java.lang.NullPointerException
at com.logging.commons.CommonsLog.main(CommonsLog.java:18)
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
严重: fatal一个异常
java.lang.NullPointerException
at com.logging.commons.CommonsLog.main(CommonsLog.java:18)
再把log4j.jar添加到classpath,生成的日志不光用控制台,同时也有文件日志。
(日志效果略)
另外通过commons-logging.properties可以指定采用log4j还是jdk方案。例如以下指定采用log4j方式
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
(此时把log4j.jar移去classpath会报错。因此commons-logging指定采用log4j方式日志,但是log4j却不在classpath下,因此会报错)
提供了基础的功能,例如commons-fileupload,commons-httpclient,commons-io等等。
commons-logging能够选择使用Log4j还是JDK Logging,但是不依赖于Log4j,Jdk Logging的API.如果项目的classpath中包含log4j
的类库,则使用Log4j,否则使用JDK Logging.使用commons-logging能够灵活的选择使用哪中日志方式,而不需要修改源代码。
commons-logging的使用类似Log4j,他们的级别以使用规则是一样的。
a)把commons-logging-1.0.4.jar添加到classpath,。
b)编写代码如下:
package com.logging.commons; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class CommonsLog { private static Log log = LogFactory.getLog(CommonsLog.class); public static void main(String[] args) { // TODO Auto-generated method stub log.trace("trace"); log.debug("debug"); log.info("info"); log.warn("warn"); log.error("error"); log.fatal("fatal"); try{ String s = null; s.length(); }catch(Exception e){ log.trace("trace一个异常",e); log.debug("debug一个异常",e); log.info("info一个异常",e); log.warn("warn一个异常",e); log.error("error一个异常",e); log.fatal("fatal一个异常",e); } } }
注:
把log4j.jar移去classpath,此时日志输出为:
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
信息: info
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
警告: warn
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
严重: error
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
严重: fatal
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
信息: info一个异常
java.lang.NullPointerException
at com.logging.commons.CommonsLog.main(CommonsLog.java:18)
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
警告: warn一个异常
java.lang.NullPointerException
at com.logging.commons.CommonsLog.main(CommonsLog.java:18)
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
严重: error一个异常
java.lang.NullPointerException
at com.logging.commons.CommonsLog.main(CommonsLog.java:18)
2012-9-13 22:55:18 com.logging.commons.CommonsLog main
严重: fatal一个异常
java.lang.NullPointerException
at com.logging.commons.CommonsLog.main(CommonsLog.java:18)
再把log4j.jar添加到classpath,生成的日志不光用控制台,同时也有文件日志。
(日志效果略)
另外通过commons-logging.properties可以指定采用log4j还是jdk方案。例如以下指定采用log4j方式
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
(此时把log4j.jar移去classpath会报错。因此commons-logging指定采用log4j方式日志,但是log4j却不在classpath下,因此会报错)
相关文章推荐
- Apache通用日志工具commons-logging和Log4j使用总结
- 38_日志工具commons-logging与Log4J
- 3.日志工具jdklogging,log4j和commons-logging总结
- Apache通用日志工具commons-logging和Log4j使用总结
- Apache通用日志工具commons-logging和Log4j使用总结
- Apache通用日志工具commons-logging和Log4j使用总结
- Apache通用日志工具commons-logging和Log4j使用
- 目前流行的日志记录工具配置大全(log4j,Jakarta Commons Logging,jdk1.4 logging)
- Apache通用日志工具commons-logging和Log4j使用总结
- 日志工具jdklogging,log4j和commons-logging
- Apache通用日志工具commons-logging和Log4j使用总结
- Apache通用日志工具commons-logging和Log4j使用总结
- Apache通用日志工具commons-logging和Log4j使用总结
- Apache通用日志工具commons-logging和Log4j使用总结
- Apache通用日志工具commons-logging和Log4j使用总结
- Apache通用日志工具commons-logging和Log4j使用总结
- python的日志工具logging
- java 使用commons-logging和log4j记录日志
- Java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)
- Apache Commons Logging日志与Log4j