在程序中的配制方法有如下几种:
BasicConfigurator.configure()方法使用最简的方法配置log4j环境。注:所谓配置log4j环境,就是指配置root logger,因为所有其它的logger都是root logger的后代,所以它们(默认情况下)都将继承root logger的性质。
BasicConfigurator.configure()完成的任务是:
// 用默认pattern创建PatternLayout对象p:
PatternLayout p = new PatternLayout("%-4r[%t]%-5p%c%x - %m%n");
// 用p创建ConsoleAppender对象a,目标是system.out,标准输出设备:
ConsoleAppender a = new ConsoleAppender(p,ConsoleAppender.SYSTEM_OUT);
// 为root logger增加一个ConsoleAppender p:
rootLogger.addAppender(p);
// 把root logger的log level设置为DEBUG级别:
rootLogger.setLevel(Level.DEBUG);
xml格式的log4j配置文件需要使用org.apache.log4j.xml.DOMConfigurator.configure()方法来读入。对xml文件的语法定义可以在log4j的发布包中找到:org/apache/log4j/xml/log4j.dtd。
log4j的xml配置文件的树状结构
log4j的xml配置文件的树状结构如下所示,注意下图只显示了常用的部分。
xml declaration and DTD
|
log4j:configuration
|
+-- appender (name, class)
| |
| +-- param (name, value)
| +-- layout (class)
| |
| +-- param (name, value)
+-- logger (name, additivity)
| |
| +-- level (class, value)
| | |
| | +-- param (name, value)
| +-- appender-ref (ref)
+-- root
|
+-- param (name, class)
+-- level
| |
| +-- param (name, value)
+-- appender-ref (ref)
xml declaration and DTD
xml配置文件的头部包括两个部分:xml声明和DTD声明。头部的格式如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">