<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="40 seconds">
    <property name="defaultPattern"
              value="%d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] [%X{sessionId}] %-5level %logger{36} - %msg%n"/>
    <appender name="WEBAPP-SIFING-APPENDER" class="ch.qos.logback.classic.sift.SiftingAppender">
        <discriminator class="ch.qos.logback.classic.sift.MDCBasedDiscriminator">
            <key>log-context</key>
            <defaultValue>webapp</defaultValue>
        </discriminator>
        <sift>
            <appender name="${log-context}" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>${logs.path}/${jvmRoute:-default}-${log-context}.log</file>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                    <fileNamePattern>${logs.path}/${jvmRoute:-default}-${log-context}.log.%d{yyyy-MM-dd}</fileNamePattern>
                    <maxHistory>${logs.maxDateHistory}</maxHistory>
                    <cleanHistoryOnStart>${logs.cleanHistoryOnStart}</cleanHistoryOnStart>
                </rollingPolicy>
                <encoder>
                    <pattern>${defaultPattern}</pattern>
                </encoder>
            </appender>
        </sift>
    </appender>
    <root level="INFO">
        <appender-ref ref="WEBAPP-SIFING-APPENDER"/>
    </root>
</configuration>