Log4j XML

2024 年 8 月 29 日 | 阅读 3 分钟

两个最重要的配置选项是使用log4j.xml配置或使用log4j.properties配置。 在本节中,我们将看到如何使用 XML 配置 log4j。 我们也可以使用属性文件,但现在 XML 比属性文件更受欢迎。

这是包含 log4j 使用的所有运行时配置的主配置文件。 该文件将包含 log4j appender 信息、日志级别信息和文件 appender 的输出文件名。

在“Log4j 示例”部分,我们解释了如何使用属性文件配置 log4j。 在这里,一切都保持不变,只是我们使用 XML 配置文件。

以下代码显示了相应的 log4j.xml 文件

要使用 xml 文件配置 log4j,我们使用DOMConfigurator.configure()方法。

输出

log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Level value for root is  [DEBUG].
log4j: root level set to DEBUG
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: Adding appender named [console] to category [root].
2019-09-05 18:07:45 DEBUG HelloWorld:10 - Sample debug message
2019-09-05 18:07:45 INFO  HelloWorld:11 - Sample info message
2019-09-05 18:07:45 WARN  HelloWorld:12 - Sample warn message
2019-09-05 18:07:45 ERROR HelloWorld:13 - Sample error message
2019-09-05 18:07:45 FATAL HelloWorld:14 - Sample fatal message

上面的例子是针对控制台输出的。 如果您想在文件上获取输出,那么您只需要更改 log4j.xml 文件。

输出到文件

下面的log4j.xml将把日志记录重定向到文件。

输出到控制台和文件

即使您也可以在控制台以及文件上获得输出。 下面的 log4j.xml 配置文件将输出重定向到控制台和文件。

输出

log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Level value for root is  [DEBUG].
log4j: root level set to DEBUG
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: Adding appender named [console] to category [root].
log4j: Class name: [org.apache.log4j.RollingFileAppender]
log4j: Setting property [append] to [false].
log4j: Setting property [maxFileSize] to [10MB].
log4j: Setting property [maxBackupIndex] to [10].
log4j: Setting property [file] to [/logs/myStruts1App.log].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: setFile called: /logs/myStruts1App.log, false
log4j: setFile ended
log4j: Adding appender named [file] to category [root].
2019-09-05 18:26:30 DEBUG HelloWorld:10 - Sample debug message
2019-09-05 18:26:30 INFO  HelloWorld:11 - Sample info message
2019-09-05 18:26:30 WARN  HelloWorld:12 - Sample warn message
2019-09-05 18:26:30 ERROR HelloWorld:13 - Sample error message
2019-09-05 18:26:30 FATAL HelloWorld:14 - Sample fatal message

下一个主题Log4J 日志级别