随笔-3  评论-2  文章-0  trackbacks-0


考虑到性能问题,不打算引入额外的log4j.jar包。在struts的lib中有一个commons-logging-1.0.4.jar包,现在我来说一下它的运行机制。

在Struts中对日志功能的使用遵循以下的步骤:
如果你自己导入了log4j.jar包并在WEB-INF/classes目录下添加log4j.properties,即可启用log4j。(注意:不需要加入commons-logging.properties文件;还有如果项目中有spring加入spring会自动加入log4j.jar包)
如果存在JDK1.4, 使用JDK1.4
如果两者都不存在,就使用SimpleLog。

现在我重点来说我们这个BSPF项目中用到的比较高性能的SimpleLog类的具体配置。
其实很简单,只要在你的WEB-INF/classes目录中加入两个properties配置文件就OK了。

###这个是commons-logging.properties文件
###指定你要用的日志类
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

###这个是simplelog.properties文件
###首先指定你的输出级别:必须为"trace", "debug", "info", "warn", "error", or "fatal"
###从trace到fatal级别越来越高,低级包括高级别的日志输出,默认为info
org.apache.commons.logging.simplelog.defaultlog=fatal
###输出的日志消息中是否包含当前日志器实例的简写名字,默认true
org.apache.commons.logging.simplelog.showShortLogname
###输出的日志消息中是否应包含当前时间信息,默认false
org.apache.commons.logging.simplelog.showdatetime
###最后注意一点SimpleLog类把日志输出到System.err中,无需你自己配置
###虽然现在不能到文件中,但以后可以改源码或换成log4j还是比较方便,不用改程序的源码

 1 package org.chinacreator.test; 
 2 
 3 import org.apache.commons.logging.LogFactory;
 4 import org.apache.commons.logging.Log;
 5 
 6 public class LoggingTest { 
 7     
 8     //SimpleLog会为每个类单独输出一个日志
 9     private static Log log = LogFactory.getLog(LoggingTest.class); 
10 
11     public static void main(String[] args) { 
12         if (log.isTraceEnabled()) {
13             log.trace("Test logging trace level");
14         } 
15         if (log.isDebugEnabled()) {
16             log.debug("Test logging debug level");
17         }
18         if (log.isInfoEnabled()) {
19             log.info("Test logging info level");
20         } 
21         if (log.isWarnEnabled()) {
22             log.warn("Test logging warn level");
23         }
24         if (log.isErrorEnabled()) {
25             log.error("Test logging error level");
26         } 
27         if (log.isFatalEnabled()) {
28             log.fatal("Test logging fatal level");
29         }
30     }
31 
32 }
33 
posted on 2007-05-29 14:30 情天 阅读(727) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: