<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appender name="ALL" class="ch.qos.logback.classic.net.SyslogAppender">
    <syslogHost>localhost</syslogHost>
    <port>10514</port>
    <facility>DAEMON</facility>
    <suffixPattern>bm-eas - [%thread] %c{1} %p - %m\n</suffixPattern>
  </appender>

  <appender name="REQUESTS" class="ch.qos.logback.classic.net.SyslogAppender">
    <syslogHost>localhost</syslogHost>
    <port>10514</port>
    <facility>DAEMON</facility>
    <suffixPattern>bm-eas-requests - [%thread] %c{1} %p - %m\n</suffixPattern>
  </appender>

  <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
    <!-- in the absence of the class attribute, it is assumed that the
         desired discriminator type is
         ch.qos.logback.classic.sift.MDCBasedDiscriminator -->
    <discriminator>
      <key>user</key>
      <defaultValue>anonymous</defaultValue>
    </discriminator>
    <sift>
      <appender name="FILE-${user}" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/var/log/bm-eas/user-eas-${user}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
          <maxIndex>10</maxIndex>
          <FileNamePattern>/var/log/bm-eas/user-eas-${user}.log.%i.gz</FileNamePattern>
        </rollingPolicy>
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
          <MaxFileSize>5000KB</MaxFileSize>
        </triggeringPolicy>
        <encoder>
          <pattern>%d [%thread] %c{1} %p - %m\n</pattern>
        </encoder>
      </appender>
    </sift>
  </appender>

  <appender name="ASYNC_SIFT" class="ch.qos.logback.classic.AsyncAppender">
    <queueSize>500</queueSize>
    <discardingThreshold>0</discardingThreshold>
    <appender-ref ref="SIFT" />
  </appender>

  <logger name="org.apache.directory.shared.asn1.ber" level="ERROR">
    <appender-ref ref="ALL"/>
  </logger>
  <logger name="net.bluemind.vertx.common.request.impl.WrappedResponse" level="INFO" additivity="true">
    <appender-ref ref="REQUESTS"/>
  </logger>

  <root level="INFO">
    <appender-ref ref="ALL"/>
    <appender-ref ref="ASYNC_SIFT"/>
  </root>
</configuration>
