<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!-- Property Definitions -->
    <property name="LOGS" value="./logs"/>
    <property name="APP_NAME" value="User-Demarcation-Service"/>
    <property name="SERVICE_LOG" value="${LOGS}/UserDemarcationService-log.txt"/>

    <!-- Console Appender -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>
                %d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %highlight(%-5level){FATAL=red, ERROR=red, WARN=yellow, INFO=green,
                DEBUG=purple} --- [${APP_NAME}] [%cyan(%thread)] [%highlight(%logger{36})] : %msg%n
            </pattern>
        </encoder>
    </appender>

    <!-- File Appender for Logging -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${SERVICE_LOG}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${SERVICE_LOG}.%d{yyyy-MM-dd}.gz</fileNamePattern>
            <maxHistory>3</maxHistory>
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Log Levels -->
    <logger name="org.springframework" level="INFO"/>
    <logger name="com.raigam.sfa.microservices.userdemarcation" level="DEBUG"/>

    <!-- Root Logger -->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>

</configuration>