<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--

    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>
    <property name="system.log.level" scope="context" value="${LOG_LEVEL}"/>
    <property name="debug.log.level" scope="context" value="DEBUG"/>

    <root level="WARN"/>

    <logger name="debugPropertyLogger" level="${debug.log.level}"/>
    <logger name="systemPropertyLogger" level="${system.log.level}"/>
    <logger name="defaultValueLogger" level="${not.existing.property:-DEBUG}"/>
</configuration>