📅  最后修改于: 2020-11-12 05:50:17             🧑  作者: Mango
上一章介绍了log4j的核心组件。本章说明如何使用配置文件配置核心组件。配置log4j涉及分配级别,定义Appender以及在配置文件中指定Layout对象。
log4j.properties文件是一个log4j配置文件,用于将属性保留为键值对。默认情况下,LogManager在CLASSPATH中查找名为log4j.properties的文件。
根记录器的级别定义为DEBUG 。 DEBUG将名为X的附加程序附加到它。
将名为X的附加程序设置为有效的附加程序。
设置附加器X的布局。
以下是附加程序X的log4j.properties文件的语法:
# Define the root logger with appender X
log4j.rootLogger = DEBUG, X
# Set the appender named X to be a File appender
log4j.appender.X=org.apache.log4j.FileAppender
# Define the layout for X appender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.conversionPattern=%m%n
使用以上语法,我们在log4j.properties文件中定义以下内容:
根记录器的级别定义为DEBUG ,其名称为FILE的DEBUG附加程序。
追加文件FILE定义为org.apache.log4j.FileAppender 。它将写入位于日志目录中的名为log.out的文件。
所定义的布局图案是%米%正的,这意味着该印刷日志消息之后,将一个新行字符。
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
需要特别注意的是log4j支持UNIX风格的变量替换,例如$ {variableName}。
我们已经将DEBUG与这两个追加程序一起使用。所有可能的选项是:
这些级别将在本教程的后面部分进行说明。
Apache log4j提供了Appender对象,这些对象主要负责将日志消息打印到不同的目的地,例如控制台,文件,套接字,NT事件日志等。
每个Appender对象都有与之关联的不同属性,这些属性指示该对象的行为。
Property | Description |
---|---|
layout | Appender uses the Layout objects and the conversion pattern associated with them to format the logging information. |
target | The target may be a console, a file, or another item depending on the appender. |
level | The level is required to control the filtration of the log messages. |
threshold | Appender can have a threshold level associated with it independent of the logger level. The Appender ignores any logging messages that have a level lower than the threshold level. |
filter | The Filter objects can analyze logging information beyond level matching and decide whether logging requests should be handled by a particular Appender or ignored. |
通过使用以下方法在配置文件中包含以下设置,我们可以将Appender对象添加到Logger:
log4j.logger.[logger-name]=level, appender1,appender..n
您可以使用XML格式编写相同的配置,如下所示:
如果您愿意在程序内添加Appender对象,则可以使用以下方法:
public void addAppender(Appender appender);
addAppender()方法将Appender添加到Logger对象。如示例配置所示,可以将许多Appender对象添加到以逗号分隔的列表中的记录器中,每个记录器将打印信息记录到单独的目的地。
在上面的示例中,我们仅使用了一个追加程序FileAppender 。所有可能的附加程序选项为:
我们将在“登录文件”中介绍FileAppender,并在“登录数据库”中介绍JDBC Appender。
我们已将PatternLayout与我们的附加程序一起使用。所有可能的选项是:
使用HTMLLayout和XMLLayout,您还可以生成HTML和XML格式的日志。
您将学习如何格式化章日志消息:日志格式。