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

  <!-- api-gateway access-logs configuration -->
  <appender name="accessLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>/vitamui/log/api-gateway/accesslog-api-gateway.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
      <maxHistory>365</maxHistory>
    </rollingPolicy>
    <encoder>
      <pattern>[%d{ISO8601}] %msg%n</pattern>
    </encoder>
  </appender>
  <appender name="async-accessLog" class="ch.qos.logback.classic.AsyncAppender">
    <appender-ref ref="accessLog" />
  </appender>
  <logger name="reactor.netty.http.server.AccessLog" level="INFO" additivity="false">
    <appender-ref ref="async-accessLog"/>
  </logger>
  <!-- end of api-gateway access-logs configuration -->

  <!-- <appender name="FILE" class="ch.qos.logback.core.FileAppender"> -->
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <fileNamePattern>/vitamui/log/api-gateway/api-gateway.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
      <maxFileSize>10MB</maxFileSize>
      <maxHistory>365</maxHistory>
      <totalSizeCap>5GB</totalSizeCap>
    </rollingPolicy>

    <encoder>
      <pattern>%d{ISO8601} [[%thread]] [%X{X-Request-Id}] %-5level %logger - %replace(%caller{1..2}){'Caller\+1     at |\n',''} : %msg %rootException%n</pattern>
    </encoder>
  </appender>

  <appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
    <syslogHost>localhost</syslogHost>
    <facility>local0</facility>
    <port>514</port>
    <suffixPattern>vitamui-api-gateway: %d{ISO8601} [[%thread]] [%X{X-Request-Id}] %-5level %logger - %replace(%caller{1..2}){'Caller\+1     at |\n',''} : %msg %rootException%n</suffixPattern>
  </appender>

  <root level="ERROR">
    <appender-ref ref="FILE" />
    <appender-ref ref="SYSLOG" />
  </root>

  <logger name="fr.gouv.vitamui" level="INFO"/>

</configuration>
