log4j的具体应用
2005-04-23 18:09
246 查看
本篇假设你已了解log4j的基本概念.
下面给出一个具体的实例:
安装环节见前面的文章
step1 配置文件log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="appender1" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log1.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
</layout>
</appender>
<root>
<level value ="debug"/>
<appender-ref ref="appender1"/>
</root>
</log4j:configuration>
在这个应用中,该文件位于src文件夹下,编译后编译到class文件夹下
step2) 封装log4j
这一步并不是必须,视具体应用而定,在我的应用中,很多类要用到log4j的logger对象,为了避免在每个类中都定义一个 static Logger logger = Logger.getLogger(clazz)的属性;而且为了避免在每个类中都进行重复的配置,可以进行如下设计:
package gasturbine.model.util;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
/**
* @author Pw
*
*
*/
public class SysLog {
static Logger logger = Logger.getRootLogger();
static {
DOMConfigurator.configure("classes/log4j.xml");
}
public static void debug(Object o) {
logger.debug(o);
}
public static void debug(double d) {
logger.debug(""+d);
}
}
这样,在每个需要日志的类中都可以直接调用SysLog.debug()方法就可以了
当然我这个类很简略,连logger.info(),logger.error()都没有,因为我暂时只需要debug,你可以根据具体情况添加上去
step3) 写日志
有了step2,这一步太简单了,因为step2已经作了大部分工作,现在只是在需要写日志的类中直接调用SysLog.debug()方法就可以了
客户端代码片断:
Cell in_ga = this.info.get("ga_in_for_" + name + "_in"); //入口湿空气流量
SysLog.debug("入口湿空气流量:" + in_ga.getValue() + " kg/s");
下面给出一个具体的实例:
安装环节见前面的文章
step1 配置文件log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="appender1" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log1.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
</layout>
</appender>
<root>
<level value ="debug"/>
<appender-ref ref="appender1"/>
</root>
</log4j:configuration>
在这个应用中,该文件位于src文件夹下,编译后编译到class文件夹下
step2) 封装log4j
这一步并不是必须,视具体应用而定,在我的应用中,很多类要用到log4j的logger对象,为了避免在每个类中都定义一个 static Logger logger = Logger.getLogger(clazz)的属性;而且为了避免在每个类中都进行重复的配置,可以进行如下设计:
package gasturbine.model.util;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
/**
* @author Pw
*
*
*/
public class SysLog {
static Logger logger = Logger.getRootLogger();
static {
DOMConfigurator.configure("classes/log4j.xml");
}
public static void debug(Object o) {
logger.debug(o);
}
public static void debug(double d) {
logger.debug(""+d);
}
}
这样,在每个需要日志的类中都可以直接调用SysLog.debug()方法就可以了
当然我这个类很简略,连logger.info(),logger.error()都没有,因为我暂时只需要debug,你可以根据具体情况添加上去
step3) 写日志
有了step2,这一步太简单了,因为step2已经作了大部分工作,现在只是在需要写日志的类中直接调用SysLog.debug()方法就可以了
客户端代码片断:
Cell in_ga = this.info.get("ga_in_for_" + name + "_in"); //入口湿空气流量
SysLog.debug("入口湿空气流量:" + in_ga.getValue() + " kg/s");
相关文章推荐
- log4j 具体应用(续)
- xpath 具体应用
- log4j的应用及配置
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- java移位的具体应用
- 二分法的具体应用
- Android 动画之ScaleAnimation应用具体解释
- 文件流的具体操作应用和三种汇出的方式
- java Web应用配置log4j日志记录
- Android应用打包安装过程具体解释
- 一个可以显示具体时间的日历控件应用
- 2个应用Log4j日志记录同一目录下问题
- PF_NETLINK应用实例NETLINK_KOBJECT_UEVENT具体实现--udev实现原理
- PHP 5 数据类型的具体用法应用实例
- Struts2返回JSON数据的具体应用范例
- 解析cookie欺骗实现过程及具体应用
- 解析Cookie欺骗实现过程及具体应用
- log4j——从基础到应用的突破
- 配置Log4j(非常具体)
- 反射的具体应用