首页天道酬勤,

,

张世龙 05-12 10:06 16次浏览

4 .使用外部配置文件

Log4j经常与外部日志文件一起使用,因此不需要将许多选项硬编码到软件中。 使用外部配置文件的优点是不需要重新编译程序来更改选项。 唯一的缺点是由于使用了io命令,所以速度稍微慢一些。

有两种方法可以指定外部配置文件:文本文件或XML文件。 因为现在所有的事情都写在XML文件中,所以本教程将重点介绍如何使用XML文件,但也包括相关的文本文件示例。 首先,我们来看看以下XML配置文件的示例:

文件以标准XML声明开头,后面是DTD (文档类型定义)的DOCTYPE声明。 它定义了XML文件的结构,例如可以嵌入到其他元素中的元素。 上述文件位于log4j版本的src/java/org/apache/log4j/xml目录中。 现在,让我们看看封装所有元素的log4j:configuration元素。 这在DOCTYPE声明中被指定为根元素。 根元素有两种结构。

在此创建一个名为“ConsoleAppender”的Appender。 请注意,您可以选择任意名称。 此示例选择“ConsoleAppender”只是为了示例而设计。 然后,该appender类以全名给出,并经常使用" fully qualified "作为类名。 Appender需要指定的名称和类。 Appender中嵌入的是layout元素,在此将其指定为简单布局。 Layout需要类属性。

根元素必须存在且不能子类化。 示例的优先级设置为“调试”,并设置为appender包含一个appender-ref元素。 可以指定的属性或元素更多。 有关XML配置文件结构的详细信息,请参阅log4j版本的src/Java/org/Apache/log4j/XML/log4j.dtd。 可以通过以下方法将配置信息文件读入Java程序中:

DOM配置器. configure (配置文件. XML );

DOMConfigurator使用DOM树初始化log4j环境。 此示例显示一个名为plainlog4jconfig.xml的XML配置文件。 这里是运行此配置文件的程序: files/external xmltest.Java :

import org.apache.log4j.Logger; importorg.Apache.log4j.XML.DOM configurator; publicclassexternalxmltest { staticloggerlogger=logger.getlogger (filetest.class ); publicstaticvoidmain (字符串args [ (DOM configurator.configure ) ) XMLlog4jconfig.XML ); logger.debug(hereissomedebug ); Logger.info(hereissomeinfo ); Logger.warn(hereissomewarn ); logger.error(hereissomeerror ); logger.fatal(hereissomefatal ); }

这里是实现带有PatternLayout的文件应用程序日志程序的XML配置文件:

您可以从这里下载示例: xmllog4jconfig2.xml。 有关使用XML文件配置log4j环境的示例,请参阅log4j发行版目录src/Java/org/Apache/log4j/XML/examples /。

这就是上面介绍的文本文件格式的配置文件:

# initialiserootloggerwithleveldebugandcallitblahlog 4j.root logger=debug,blah # addaconsoleappendertotheloggerblahlog 4j .

您可以从这里下载: plainlog4jconfig.txt。 这就是运行此配置文件的程序:

import org.apache.log4j.Logger; importorg.Apache.log4j.property configurator; publicclassexternalplaintest { staticloggerlogger=logger.getlogger (externalplaintest.class ); publicstaticvoidmain (string args [ ] )属性配置器. configure (plain log4j config.XML ); logger.debug(hereissomedebug ); Logger.info(hereissomeinfo ); Logger.warn(hereissomewarn ); logger.error(hereissomeerror ); logger.fatal(hereissomefatal ); }

使用此配置文件的示例:可以下载externalplaintest.java。 有关使用文本文件配置log4j环境的示例,请参阅log4j发行版中的目录examples。

使用外部配置文件的示例已经讨论到这里,但现在您应该可以确信,您有能力独立地学习更多log4j发行版和beta版中提供的示例。

logback log4j,苹果手机新手使用教程