<?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="INFO">
    <Properties>
        <Property name="pattern">%highlight{%d{MMM-dd|HH:mm:ss}|%level{WARN=WRN, DEBUG=DBG, ERROR=ERR, TRACE=TRC, INFO=INF}| %m%n}</Property>
    </Properties>
    <Appenders>
        <Console name="stdout" target="SYSTEM_OUT">
            <PatternLayout pattern="${pattern}"/>
            <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="ACCEPT"/>
        </Console>
        <Console name="stderr" target="SYSTEM_ERR">
            <PatternLayout pattern="${pattern}"/>
            <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="stdout"/>
            <AppenderRef ref="stderr"/>
        </Root>
        <Logger name="org.apache.nlpcraft" level="INFO" additivity="false">
            <AppenderRef ref="stdout"/>
            <AppenderRef ref="stderr"/>
        </Logger>
        <Logger name="com.mchange" level="WARN" additivity="false">
            <AppenderRef ref="stderr"/>
        </Logger>
        <Logger name="org.apache.ignite" level="WARN" additivity="false">
            <AppenderRef ref="stderr"/>
        </Logger>
    </Loggers>
</Configuration>