How do I set the name of the log file per logger but with the same appender?

45 Views Asked by At

I want to have several loggers that are using the same file appender. I want each log file to have its own specific name that I define (such as requests.log...). How can I define the log file's name per logger without having to create a file appender for each logger?

This is what my logback-spring.xml looks like right now:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <property name="pattern" value="%d{dd-MM-yyyy HH:mm:ss.SSS} %-5level: %msg | request #%X{requestNumber}%n" />

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <encoder>
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>

    <logger name="request-logger">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </logger>
</configuration>
0

There are 0 best solutions below