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

    <!-- 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>
