<?xml version="1.0"?>
<!--
 -
 - 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.
 -
 -->
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="ArchivingFileAppender" class="org.apache.log4j.QpidCompositeRollingAppender">
        <!-- Ensure that logs allways have the dateFormat set-->
        <param name="StaticLogFileName" value="false"/>
        <param name="File" value="${QPID_WORK}/log/${logprefix}qpid${logsuffix}.log"/>
        <param name="Append" value="false"/>
        <!-- Change the direction so newer files have bigger numbers -->
        <!-- So log.1 is written then log.2 etc This prevents a lot of file renames at log rollover -->
        <param name="CountDirection" value="1"/>
        <!-- Use default 10MB -->
        <!--param name="MaxFileSize" value="100000"/-->
        <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm"/>
        <!-- Unlimited number of backups -->
        <param name="MaxSizeRollBackups" value="-1"/>
        <!-- Compress(gzip) the backup files-->
        <param name="CompressBackupFiles" value="true"/>
        <!-- Compress the backup files using a second thread -->
        <param name="CompressAsync" value="true"/>
        <!-- Start at zero numbered files-->
        <param name="ZeroBased" value="true"/>
        <!-- Backup Location -->
        <param name="backupFilesToPath" value="${QPID_WORK}/backup/log"/>

        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </layout>
    </appender>

    <appender name="FileAppender" class="org.apache.log4j.FileAppender">
        <param name="File" value="${QPID_WORK}/log/${logprefix}qpid${logsuffix}.log"/>
        <param name="Append" value="false"/>

        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </layout>
    </appender>

    <appender name="AlertFile" class="org.apache.log4j.FileAppender">
        <param name="File" value="${QPID_WORK}/log/alert.log"/>
        <param name="Append" value="false"/>

        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </layout>
    </appender>

    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">

        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </layout>
    </appender>

    <category name="Qpid.Broker">
        <priority value="debug"/>
        <appender-ref ref="AlertFile"/>
        <appender-ref ref="STDOUT"/>
    </category>

    <category name="org.apache.qpid.server.queue.AMQQueueMBean">
        <priority value="info"/>
        <appender-ref ref="AlertFile"/>
    </category>

    <!-- Provide warnings to standard output -->
    <category name="org.apache.qpid">
        <priority value="warn"/>
        <appender-ref ref="STDOUT"/>
    </category>


    <!-- Examples of additional logging settings -->
    <!-- Used to generate extra debug. See debug.log4j.xml -->
    
    <!--<category name="org.apache.qpid.server.store">
        <priority value="debug"/>
    </category-->

    <!--category name="org.apache.qpid.server.txn">
        <priority value="debug"/>
    </category>-->

    <!-- Log all info events to file -->
    <root>
        <priority value="info"/>
        <appender-ref ref="FileAppender"/>
        <!--appender-ref ref="ArchivingFileAppender"/-->
    </root>

</log4j:configuration>
