Rob Rob - 2 months ago 25
YAML Question

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

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?

Answer

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

Comments