<?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>
        <File name="file" fileName="fortress.log" append="true" maxFileSize="10MB" maxBackupIndex="10">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:sss} %-5p %c{1}:%L - %m%n"/>
        </File>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%-5p - %d{dd MMM yyyy HH:mm:ss,SSS} - %-26.26c{1} - %m%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="org.openldap" level="info"/>
        <Logger name="org.apache.directory.fortress.core" level="info"/>
        <Logger name="org.apache.directory.fortress.web" level="info"/>
        <Logger name="org.apache.wicket" level="info"/>
        <Logger name="org.springframework.security" level="info"/>
        <Logger name="org.apache.wicket.protocol.http.HttpSessionStore" level="info"/>
        <Logger name="org.apache.wicket.version" level="info"/>
        <Logger name="org.apache.wicket.RequestCycle" level="info"/>
        <Root level="warn">
            <AppenderRef ref="console"/>
        </Root>
    </Loggers>
</Configuration>