<?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">
            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
            <PatternLayout pattern="[%d{dd-MM-yyyy HH:mm:ss}][%-5p][%t][%c{1}] %m%n"/>
        </Console>

        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
            <PatternLayout pattern="[%d{dd-MM-yyyy HH:mm:ss}][%-5p][%t][%c{1}] %m%n"/>
        </Console>

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

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

        <!--
            Uncomment this category to enable cache query execution tracing.
        -->
        <!--
            <Logger name="org.apache.ignite.cache.queries" level="DEBUG"/>
        -->

        <!--
            Uncomment to enable DGC tracing.
        -->
        <!--
            <Logger name="org.apache.ignite.grid.kernal.processors.cache.GridCacheDgcManager.trace" level="DEBUG"/>
        -->

        <!--
            Uncomment to disable courtesy notice.
        -->
        <!--
           <Logger name="org.apache.ignite.CourtesyConfigNotice" level="OFF"/>
        -->

        <Logger name="org.springframework" level="WARN"/>

        <Logger name="org.eclipse.jetty" level="FATAL"/>

        <Logger name="com.amazonaws" level="WARN"/>

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