Board logo

标题: 深入 Struts 1.1(6)Commons Logging 接口 [打印本页]

作者: look_w    时间: 2018-7-15 08:59     标题: 深入 Struts 1.1(6)Commons Logging 接口

Commons Logging 接口所谓的 Commons Logging 接口,是指将日志功能的使用与日志具体实现分开,通过配置文件来指定具体使用的日志实现。这样你就可以在 Struts 1.1 中通过统一的接口来使用日志功能,而不去管具体是利用的哪种日志实现,有点于类似 JDBC 的功能。Struts 1.1 中支持的日志实现包括:Log4J,JDK Logging API, LogKit,NoOpLog 和 SimpleLog。
你可以按照如下的方式来使用 Commons Logging 接口(可以参照 Struts 源文中的许多类实现):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.foo;
// ...
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//...
    public class Foo {
    // ...
    private static Log log = LogFactory.getLog(Foo.class);
    // ...
    public void setBar(Bar bar) {
        if (log.isTraceEnabled()) {
            log.trace("Setting bar to " + bar);
        }
    this.bar = bar;
    }
// ...
}




而开启日志功能最简单的办法就是在 WEB-INF/classes 目录下添加以下两个文件:
commons-logging.properties 文件:
1
2
3
4
5
6
7
8
9
10
11
12
# Note: The Tiles framework now uses the commons-logging package to output different
information or debug statements.
Please refer to this package documentation to enable it. The simplest way to enable
logging is to create two files in
WEB-INF/classes:
# commons-logging.properties
# org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
# simplelog.properties
# # Logging detail level,
# # Must be one of ("trace", "debug", "info", "warn", "error", or "fatal").
#org.apache.commons.logging.simplelog.defaultlog=trace
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog




simplelog.properties 文件:
1
2
3
# Logging detail level,
# Must be one of ("trace", "debug", "info", "warn", "error", or "fatal").
org.apache.commons.logging.simplelog.defaultlog=fatal




这里我们采用的日志实现是 SimpleLog,你可以在 simplelog.properties 文件指定日志明细的级别:trace,debug,info,warn,error 和 fatal,从 trace 到 fatal 错误级别越来越高,同时输出的日志信息也越来越少。而这些级别是和 org.apache.commons.logging.log 接口中的方法一一对应的。这些级别是向后包含的,也就是前面的级别包含后面级别的信息。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0