💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# `log4j.xml`示例 – Log4j xml 配置示例 > 原文: [https://howtodoinjava.com/log4j/how-to-configure-log4j-using-xml-configuration/](https://howtodoinjava.com/log4j/how-to-configure-log4j-using-xml-configuration/) [Log4j](https://logging.apache.org/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 应用日志为开发人员提供了有关应用故障的详细上下文。 使用 log4j,可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 实际上,两个最常见的配置选项是使用`log4j.xml`配置或使用`log4j.properties`配置。 在此 **log4j xml 配置教程**中,我展示了`log4j.xml`配置的示例代码。 > 阅读更多: [Log4j 属性文件示例](//howtodoinjava.com/log4j/how-to-configure-log4j-using-properties-file/) ## 1\. Log4j Maven 依赖项 [创建一个 Maven Java 项目](https://howtodoinjava.com/maven/create-java-project-maven/)并更新 log4j 依赖项。 ```java <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> ``` ## 2\. `log4j.xml`文件 这是主要配置文件,其中包含 log4j 使用的所有运行时配置。 该文件将具有 log4j 附加器信息,日志级别信息和文件附加器的输出文件名。 创建此文件并放入应用类路径。 ```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> <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`示例 ```java 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`: ```java [main] DEBUG com.howtodoinjava.Log4jXmlConfigurationExample - Log4j xml configuration is successful !! ``` 现在,让我们看一些`log4j.xml`示例,这些示例将日志消息输出到特定位置。 ## 4\. Log4j 控制台附加器 – 记录到控制台 使用`ConsoleAppender`将日志输出到控制台的 Java 程序。 ```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 程序。 ```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`配置和用法的任何问题。 学习愉快!