Logger为用户操作的主要类。Appender是一个接口,
通常用ConsoleAppender类、FileAppender类、RollingfilleAppender类实现。Layout是一个抽象类,PatternLayout类、SimpleLayout类、HTMLLayout类实现。
- Logger - 日志写出器,供程序员输出日志信息
- Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去
- ConsoleAppender - 目的地为控制台的Appender
- FileAppender - 目的地为文件的Appender
- RollingFileAppender - 目的地为大小受限的文件的Appender
- Layout - 日志格式化器,用来把程序员的logging request格式化成字符串
- PatternLayout - 用指定的pattern格式化logging request的Layout
- SimpleLayout - 用指定的simpleLayout格式化logging request的Layout
- HTMLLayout - 用指定的HTML格式化logging request的Layout
程序员持有Logger对象对日志进行控制,Logger在使用前要做这样几步:
1、实例化Logger对象Logger logger
2、设置logger的Level,----使用Logger类中的setLevel方法
3、指定logger使用哪一种appender,---- 使用Logger类中的
addAppender(Appender appender)方法,在使用此法前要实例化一个Appender对象。
要实例化Appender对象得先实例化一个Layout对象。
写一个简单的例子 使用ConsoleAppender类、FileAppender类、SimpleLayout类、HTMLLayout类
logger = Logger.getLogger(COMM0000InitAction.class);
logger.setLevel((Level) Level.DEBUG);
String pattern
=
%d{ISO8601} - %p - %m%n;
//
选择
PatternLayout格式输出。
PatternLayout layout = new PatternLayout (pattern
);
FileAppender appender = null;
try {
//选择FileAppender作为存储log的文件格式
appender = new FileAppender (layout,"test.log");
} catch(Exception e) {}
logger.addAppender(appender);
logger.error("ERROR");
logger.debug("DEBUG");
logger.warn("WARN");
logger.info("INFO");
logger.trace("TRACE");
程序执行结果:
2004-12-14 09:46:14,514 - ERROR - ERROR
2004-12-14 09:46:14,564 - DEBUG - DEBUG
2004-12-14 09:46:14,564 - WARN - WARN
2004-12-14 09:46:14,564 - INFO - INFO
2004-12-14 09:46:14,564 - DEBUG – TRACE
在使用logger.error("ERROR");语句前所有对logger的操作都被称为初始化log4j环境。这些操作可使用文本文件或者XML文件完成。
XML配置文件示例: configurationfile.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="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<root>
<priority value ="debug" />
<appender-ref ref="ConsoleAppender"/>
</root>
</log4j:configuration>
使用org.apache.log4j.xml.DOMConfigurator. configure("configurationfile.xml");方法把配置信息文件读入到Java程序中。
public class externalxmltest {
static Logger logger = Logger.getLogger(externalxmltest.class);
public static void main(String args[]) {
DOMConfigurator.configure("xmllog4jconfig.xml");
logger.debug("Here is some DEBUG");
}
}