27

The documentation for log4j2 configuration provides a nice sample XML document equivalent to the default configuration:

<?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>

What would the equivalent file look like as (valid) YAML?

Smandoli
  • 6,919
  • 3
  • 49
  • 83
sea-rob
  • 2,275
  • 1
  • 22
  • 22

1 Answers1

57

❐ The YAML file

The equivalent YAML file ( log4j2.yaml ) looks like this:

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

This file is automatically loaded (assuming that the file is in the classpath and having the required dependencies), as described in Automatic Configuration.

❐ Maven

If you are using Maven, the following dependencies are required:

<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>

Imgur

Paul Vargas
  • 41,222
  • 15
  • 102
  • 148