<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<configuration status="WARN">

  <appenders>

    <RollingRandomAccessFile name="main" fileName="${log.directory}/core.log"
                             filePattern="${log.directory}/core-%d{yyyy-MM-dd}.log.gz"
                             immediateFlush="false" append="true">
      <PatternLayout>
        <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy/>
        <SizeBasedTriggeringPolicy size="250 MB"/>
      </Policies>
    </RollingRandomAccessFile>

    <RollingRandomAccessFile name="persistence" fileName="${log.directory}/core-persistence.log"
                             filePattern="${log.directory}/core-persistence-%d{yyyy-MM-dd}.log.gz"
                             immediateFlush="false" append="true">
      <PatternLayout>
        <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy/>
        <SizeBasedTriggeringPolicy size="250 MB"/>
      </Policies>
    </RollingRandomAccessFile>

    <RollingRandomAccessFile name="rest" fileName="${log.directory}/core-rest.log"
                             filePattern="${log.directory}/core-rest-%d{yyyy-MM-dd}.log.gz"
                             immediateFlush="false" append="true">
      <PatternLayout>
        <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy/>
        <SizeBasedTriggeringPolicy size="250 MB"/>
      </Policies>
    </RollingRandomAccessFile>

    <RollingRandomAccessFile name="connid" fileName="${log.directory}/core-connid.log"
                             filePattern="${log.directory}/core-connid-%d{yyyy-MM-dd}.log.gz"
                             immediateFlush="false" append="true">
      <PatternLayout>
        <pattern>%d{HH:mm:ss.SSS} %-5level %msg%n</pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy/>
        <SizeBasedTriggeringPolicy size="250 MB"/>
      </Policies>
    </RollingRandomAccessFile>
    
  </appenders>
  
  <loggers>
    
    <asyncLogger name="org.apache.syncope.core.persistence" additivity="false" level="INFO">
      <appender-ref ref="persistence"/>
    </asyncLogger>
    <asyncLogger name="org.springframework.orm" additivity="false" level="INFO">
      <appender-ref ref="persistence"/>
    </asyncLogger>
    <asyncLogger name="org.apache.openjpa" additivity="false" level="INFO">
      <appender-ref ref="persistence"/>
    </asyncLogger>
    <asyncLogger name="org.apache.ibatis" additivity="false" level="INFO">
      <appender-ref ref="persistence"/>
    </asyncLogger>
    
    <asyncLogger name="org.apache.syncope.core.rest" additivity="false" level="INFO">
      <appender-ref ref="rest"/>
    </asyncLogger>
    <asyncLogger name="org.springframework.web" additivity="false" level="INFO">
      <appender-ref ref="rest"/>
    </asyncLogger>
    <asyncLogger name="org.apache.http" additivity="false" level="INFO">
      <appender-ref ref="rest"/>
    </asyncLogger>
    <asyncLogger name="org.apache.cxf" additivity="false" level="ERROR">
      <appender-ref ref="rest"/>
    </asyncLogger>
    <asyncLogger name="org.apache.syncope.ext.self.keymaster" additivity="false" level="ERROR">
      <appender-ref ref="rest"/>
    </asyncLogger>
    
    <asyncLogger name="org.identityconnectors" additivity="false" level="DEBUG">
      <appender-ref ref="connid"/>
    </asyncLogger>
    <asyncLogger name="net.tirasa.connid" additivity="false" level="DEBUG">
      <appender-ref ref="connid"/>
    </asyncLogger>
    <asyncLogger name="org.apache.syncope.core.provisioning.api.ConnIdBundleManager" additivity="false" level="INFO">
      <appender-ref ref="connid"/>
    </asyncLogger>
    
    <asyncLogger name="org.apache.syncope" additivity="false" level="INFO">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.syncope.core.provisioning" additivity="false" level="INFO">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.syncope.core.logic" additivity="false" level="INFO">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.springframework" additivity="false" level="INFO">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.quartz" additivity="false" level="INFO">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.flowable" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="liquibase" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.cocoon" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.fop" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.camel" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.wss4j" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.xml" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.bval" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.opensaml" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="io.swagger" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.reflections" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.elasticsearch" additivity="false" level="INFO">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="io.netty" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="com.zaxxer.hikari" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.zookeeper" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="org.apache.curator" additivity="false" level="ERROR">
      <appender-ref ref="main"/>
    </asyncLogger>
    
    <!-- To enable when setting 'mail.debug=true' in mail.properties -->
    <!--<asyncLogger name="org.apache.syncope.core.provisioning.java.job.notification" additivity="false" level="DEBUG">
      <appender-ref ref="main"/>
    </asyncLogger>
    <asyncLogger name="javax.mail" additivity="false" level="DEBUG">
      <appender-ref ref="main"/>
    </asyncLogger>-->
    
    <root level="INFO">
      <appender-ref ref="main"/>
    </root>
    
  </loggers>
</configuration>
