`
xitong
  • 浏览: 6203190 次
文章分类
社区版块
存档分类
最新评论

org.apache.commons.logging的用法(下)

 
阅读更多
完全可以分装一个类,而不必每个类要log,都得
定义private static Log testLogger = LogFactory.getLog(xxx.class);

最普通的实现:
package moxtv.central.util;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
*
* @author weip
* @time 2006-4-30 16:38:27
*
*/
public class Logger {

/**
*
*/
private static Log sysLogger = LogFactory.getLog(Logger.class);

/**
*
* @author weip
* @time 2006-4-30 16:39:57
* @param obj
* Object
*/
public static void debug(Object obj) {
sysLogger.debug(obj);
}

/**
*
* @author weip
* @time 2006-4-30 16:41:39
* @param obj
* Object
*/
public static void info(Object obj) {
sysLogger.info(obj);
}

/**
*
* @author weip
* @time 2006-4-30 16:42:28
* @param obj
* Object
*/
public static void warn(Object obj) {
sysLogger.warn(obj);
}

/**
*
* @author weip
* @time 2006-4-30 16:42:50
* @param obj
* Object
*/
public static void error(Object obj) {
sysLogger.error(obj);
}

/**
*
* @author weip
* @time 2006-4-30 16:42:58
* @param obj
* Object
*/
public static void fatal(Object obj) {
sysLogger.fatal(obj);
}

}

另外一种重构后的实现,但似乎也没有带来更大的益处
package moxtv.central.util;

import java.lang.reflect.Method;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
* Logger的重构,也许不大合适
* @author weip
* @time 2006-4-30 17:24:49
*
*/
public class Logger2 {

/**
*
*/
private static Log sysLogger = LogFactory.getLog(Logger.class);
/**
*
*/
public static final String DEBUG = "debug";

/**
*
*/
public static final String INFO = "info";

/**
*
*/
public static final String WARN = "warn";

/**
*
*/
public static final String ERROR = "error";

/**
*
*/
public static final String FATAL = "fatal";

/**
* generic method instead of the five methods above
*
* @author weip
* @time 2006-4-30 16:51:31
* @param obj
* Object
* @param level
* String
*
*/
public static void log(Object obj, String level) {

Method method;
try {
method = sysLogger.getClass().getMethod(level,
new Class[] {Object.class });

method.invoke(sysLogger, new Object[] {obj });
} catch (Exception e) {

e.printStackTrace();
throw new RuntimeException("It should be a unreachalbe point");
}
}
}
分享到:
评论

相关推荐

    使用Apache Axis1.0中的WSDL2Java需要用到的所有jar

    提醒:Linux下jar之间使用冒号隔开:,windows下jar之间使用分号隔开 调用方法 java -cp mail-1.4.jar;saaj-api-1.3.jar;jaxrpc-1.1.jar;commons-discovery-0.2.jar;commons-logging-1.1.jar;axis-1.4.jar;activation-...

    commons-logging-1.1.1

    commons-logging提供分级日志功能,相当于把System.out.println()方法加强了,原来 是一定输出到控制台,现在commons-logging有6级日志,但是apache建议使用4级,即 ERROR、WARN、INFO、DEBUG。什么情况下输出日志由...

    apache-commons源码及jar文件

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...

    Struts2教程

    由于 MyEclipse6 目前并不支持 Struts2 ,所以我们需要到 struts.apache.org 去下载 Struts 2 安装包。要想正常使用 Struts2 ,至少需要如下五个包(可能会因为 Struts2 的版本不同,包 名略有差异,但包名的前半部...

    Jakarta commons docs API CHM 格式

    commons-logging 提供日志的实现 commons-math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题. commons-modeler 创建符合 JMX 规范的 MBeans 机制 commons...

    比较全面的:Jakarta-commons jar包(附: chm参考手册 & 资源简介)

    commons-logging 提供日志的实现 commons-math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题. commons-modeler 创建符合 JMX 规范的 MBeans 机制 commons...

    MyEclipse_9创建SSH2开发环境必须的独立包

    commons-logging.jar 用于通用日志处理 commons-validator.jar 提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器(校验方法)和校验规则 struts2-spring-plugin-2.0.11.2.jar struts2的spring插件 struts2-...

    jpivot学习总结.doc

    在一个 JSP 页面当中,如果要使用 JPivot 标签库,除了要配置相关的配置文件外,我们需要在 JSP 头的位置声明对 JPivot 标签库的引用,引用方法如下: <%@ taglib uri = "http://www.tonbeller....

    jcl-over-slf4j-1.7.25.jar 由于下载次数较多,所需积分上去了,我已下调

    为了解决这个问题,Apache Commons Logging (之前叫 Jakarta Commons Logging,JCL)粉墨登场,JCL 只提供 log 接口,具体的实现则在运行时动态寻找。这样一来组件开发者只需要针对 JCL 接口开发,而调用组件的应用...

    基于EXT SSI的简单树实现

    一个基于EXT实现的树,先上图。...1 导入 commons-logging-1.1.jar log4j-1.2.14.jar 2 写log4j.properties 3 在代码中使用方式 static Log log = LogFactory.getLog("Action类"); log.debug("result is " + result);

    飞qjava源码-PdfLayoutManager:向PDFBox添加换行、分页、表格和样式

    飞q java源码PDF版面管理器 该项目是添加内联样式、对齐文本、字体加载/缓存和其他改进的先驱。...这是我用来捕获它们的方法(不完整,不再使用新版本的 PDFBox): 从源头构建 需要 Maven 3 和 Java JDK

Global site tag (gtag.js) - Google Analytics