log4j.xml示例 – Log4j xml 配置示例

log4j.xml示例 – Log4j xml 配置示例

原文: https://howtodoinjava.com/log4j/how-to-configure-log4j-using-xml-configuration/

Log4j 是一个简单而灵活的日志记录框架。 应用日志为开发人员提供了有关应用故障的详细上下文。 使用 log4j,可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。

实际上,两个最常见的配置选项是使用log4j.xml配置或使用log4j.properties配置。

在此 log4j xml 配置教程中,我展示了log4j.xml配置的示例代码。

阅读更多: Log4j 属性文件示例

1. Log4j Maven 依赖项

创建一个 Maven Java 项目并更新 log4j 依赖项。

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

2. log4j.xml文件

这是主要配置文件,其中包含 log4j 使用的所有运行时配置。 该文件将具有 log4j 附加器信息,日志级别信息和文件附加器的输出文件名。

创建此文件并放入应用类路径。

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>

  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
    </layout>
  </appender>

  <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="demoApplication.log"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
    </layout>
  </appender>

  <root>
    <priority value ="debug"></priority>
    <appender-ref ref="console"></appender>
    <appender-ref ref="fileAppender"></appender>
  </root>

</log4j:configuration>

3. log4j.xml示例

package com.howtodoinjava;

import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;

public class Log4jXmlConfigurationExample
{
	static Logger logger = Logger.getLogger(Log4jXmlConfigurationExample.class);

	public static void main(String[] args)
	{
		//DOMConfigurator is used to configure logger from xml configuration file
		DOMConfigurator.configure("log4j.xml");

		//Log in console in and log file
		logger.debug("Log4j appender configuration is successful !!");
	}
}

在控制台中输出,在项目根文件夹中输出demoApplication.log

[main] DEBUG com.howtodoinjava.Log4jXmlConfigurationExample - Log4j xml configuration is successful !!

现在,让我们看一些log4j.xml示例,这些示例将日志消息输出到特定位置。

4. Log4j 控制台附加器 – 记录到控制台

使用ConsoleAppender将日志输出到控制台的 Java 程序。

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>

  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
    </layout>
  </appender>

  <root>
    <priority value ="debug"></priority>
    <appender-ref ref="console"></appender>
  </root>

</log4j:configuration>

4. Log4j 滚动文件附加器 – 记录到文件

使用RollingFileAppender将日志输出到文件的 Java 程序。

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>

  <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="demoApplication.log"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
    </layout>
  </appender>

  <root>
    <priority value ="debug"></priority>
    <appender-ref ref="fileAppender"></appender>
  </root>

</log4j:configuration>

让我知道关于log4j.xml配置和用法的任何问题。

学习愉快!