多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Log4j `ConsoleAppender`配置示例 > 原文: [https://howtodoinjava.com/log4j/log4j-console-appender-example/](https://howtodoinjava.com/log4j/log4j-console-appender-example/) 任何旨在将日志记录信息打印到控制台的日志记录应用都应使用此[`org.apache.log4j.ConsoleAppender`](https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/ConsoleAppender.html)。 `ConsoleAppender`是一个非常简单的类,旨在将日志记录信息写入`System.out`或`System.err`。 可以通过名为`target`的属性来配置日志消息的目的地。 ## `ConsoleAppender`的属性 `ConsoleAppender`的可配置属性如下所述: | 属性 | 描述 | | --- | --- | | `immediateFlush` | 设置是否用每个日志记录输出请求刷新控制台流。 | | `encoding` | 重写默认的字符编码方案。 | | `threshold` | 级别低于阈值的任何日志记录请求都将被忽略。 | | `target` | `System.out`或`System.err`。 默认值为`System.out`。 | ## `ConsoleAppender`配置 #### 属性文件中的`ConsoleAppender`配置 ```java log4j.rootCategory=debug,console log4j.logger.com.demo.package=debug,console log4j.additivity.com.demo.package=false log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.out log4j.appender.console.immediateFlush=true log4j.appender.console.encoding=UTF-8 #log4j.appender.console.threshold=warn log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.conversionPattern=%d [%t] %-5p %c - %m%n ``` #### XML 文件中的`ConsoleAppender`配置 ```java <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="target" value="System.err"/> <param name="immediateFlush" value="false"/> <param name="encoding" value="UTF-8"/> <param name="threshold" value="warn"/> <layout class="org.apache.log4j.PatternLayout"> <param name="conversionPattern" value="%d [%t] %-5p %c - %m%n"/> </layout> </appender> <logger name="com.demo.package"> <level value="debug"/> <appender-ref ref="console"/> </logger> <root> <priority value ="debug" /> <appender-ref ref="console"/> </root> </log4j:configuration> ``` ## 测试`ConsoleAppender`配置 让我们编写一个快速的 Java 程序,并使用上述配置在控制台中写入日志。 ```java import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class Demo { static Logger logger = Logger.getLogger(Demo.class); public static void main(String[] args) { // PropertiesConfigurator is used to configure logger from properties file PropertyConfigurator.configure("log4j.properties"); // Log in console logger.debug("Log4j console appender configuration is successful !!"); } } ``` 现在,根据需要将`log4j.properties`文件放在项目根文件夹或资源文件夹中,然后运行该应用。 您将在控制台中获得以下日志消息。 ```java 2016-06-14 18:03:13,175 [main] DEBUG Demo - Log4j console appender configuration is successful !! ``` 将我的问题放在评论部分。 学习愉快!