<?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.
-->

<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<!--
    Log4j configuration.
-->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    <!--
        Logs System.out messages to console.
    -->
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <!-- Log to STDOUT. -->
        <param name="Target" value="System.out"/>

        <!-- Log from DEBUG and higher. -->
        <param name="Threshold" value="DEBUG"/>

        <!-- The default pattern: Date Priority [Category] Message\n -->
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
        </layout>

        <!-- Do not log beyond INFO level. -->
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="levelMin" value="DEBUG"/>
            <param name="levelMax" value="INFO"/>
        </filter>
    </appender>

    <!--
        Logs all System.err messages to console.
    -->
    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
        <!-- Log to STDERR. -->
        <param name="Target" value="System.err"/>

        <!-- Log from WARN and higher. -->
        <param name="Threshold" value="WARN"/>

        <!-- The default pattern: Date Priority [Category] Message\n -->
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
        </layout>
    </appender>

    <!--
        Logs all output to specified file.
    -->
    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
        <param name="Threshold" value="DEBUG"/>
        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
        <param name="Append" value="true"/>
        <param name="MaxFileSize" value="10MB"/>
        <param name="MaxBackupIndex" value="10"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
        </layout>
    </appender>

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

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

        <category name="org.apache.ignite.internal.processors.cache.distributed.dht.topology">
            <level value="DEBUG"/>
        </category>
    -->

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

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

         <category name="org.apache.ignite.cache.msg.tx.finish">
             <level value="DEBUG"/>
         </category>

         <category name="org.apache.ignite.cache.msg.tx.recovery">
             <level value="DEBUG"/>
         </category>
    -->

    <!-- Disable all open source debugging. -->
    <category name="org">
        <level value="INFO"/>
    </category>

    <category name="org.eclipse.jetty">
        <level value="INFO"/>
    </category>

    <!-- Default settings. -->
    <root>
        <!-- Print at info by default. -->
        <level value="INFO"/>

        <!-- Append to file and console. -->
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="CONSOLE_ERR"/>
    </root>
</log4j:configuration>
