¿Cómo registrar solo un nivel con log4j2?

Estoy usando log4j2 en mi aplicación.

Lo que quiero es todo hasta 'depurar' para ir a la consola, todo hasta 'info' para ir a myapp.log, y SOLO 'info' para ir a 'myapp-audit.log'.

La razón es que INFO consiste principalmente en modificaciones exitosas a los datos (por ejemplo, 'usuario creado', 'usuario actualizado', 'usuario eliminado', etc.). If es efectivamente un registro de auditoría de modificaciones de datos.

Pero no puedo entender cómo hacerlo.

¿Cómo obtengo SOLO 'info' para iniciar sesión en 'myapp-audit.log'? Aquí está mi configuración actual ...

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

        <File name="LogFile" fileName="myapp.log">
            <PatternLayout
                pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </File>

        <File name="AuditFile" fileName="myapp-audit.log">
            <PatternLayout
                pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </File>
    </appenders>

    <loggers>
        <root level="debug">
            <appender-ref ref="Console" level="debug" />
            <appender-ref ref="LogFile" level="info" />
            <appender-ref ref="AuditFile" level="info" /> <!-- I want ONLY 'info' here -->
        </root>
    </loggers>
</configuration>

Respuestas a la pregunta(3)

Su respuesta a la pregunta