<?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>
    <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
        </Console>

        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
        </Console>

        <RollingFile name="FILE"
                     append="true"
                     fileName="ignite/work/log/ignite.log"
                     filePattern="ignite/work/log/ignite.log.%i">
            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>

    <Loggers>
        <!--
            Uncomment to enable Ignite query execution debugging.
        -->
        <!--
            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
        -->

        <!--
            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
        -->
        <!--
            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
        -->

        <!--
            Uncomment to enable debugging of partition counters.
        -->
        <!--
            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
        -->

        <!--
            Uncomment to enable transactions debugging.
        -->
        <!--
            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
        -->

        <!--
            Uncomment to enable debugging of partition eviction.
        -->
        <!--
            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
        -->
        <Logger name="org" level="INFO"/>
        <Logger name="org.eclipse.jetty" level="INFO"/>

        <Root level="INFO">
            <AppenderRef ref="FILE" level="DEBUG"/>
            <AppenderRef ref="CONSOLE" level="DEBUG"/>
            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
        </Root>
    </Loggers>
</Configuration>
