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

    <contextName>joramtest</contextName>

    <appender name="joramtestappender" class="ch.qos.logback.core.FileAppender">
        <file>${joramtest.output-directory}/joramtest.log</file>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%date %-5level [%thread] %logger{10} %msg%n</Pattern>
        </encoder>
    </appender>

    <root level="debug">
        <appender-ref ref="joramtestappender" />
    </root>

</configuration>