# 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 !!
```

将我的问题放在评论部分。

学习愉快！