YAML 中用于 log4j2 的示例默认配置文件是什么?

What is a sample default config file in YAML for log4j2?

log4j2 配置的 documentation 提供了一个很好的示例 XML 文档等同于默认配置:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>

(有效的)YAML 的等效文件是什么样的?

YAML 文件

等效的 YAML 文件 (log4j2.yaml) 如下所示:

Configuration:
  status: warn

  Appenders:
    Console:
      name: Console
      target: SYSTEM_OUT
      PatternLayout:
        Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"

  Loggers:
    Root:
      level: error
      AppenderRef:
        ref: Console

Automatic Configuration.

中所述,此文件会自动加载(假设该文件位于类路径中并具有所需的依赖项)

Maven

如果您使用的是 Maven,则需要以下依赖项:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.1</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>2.5.0</version>
</dependency>