<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" packages="com.eibus.util.logger.appender,com.cordys.logger.internal,com.cordys.cap.logger.appender">
    <Properties>
        <Property name="logsFolderLocation"><!--Provide custom logs folder location--></Property>
    </Properties>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT" immediateFlush="true">
            <PatternLayout>
                <Pattern><![CDATA[<log4j:event logger="%c" timestamp="%d{dd-MMM-yyyy HH:mm:ss.SSS}{Europe/Amsterdam}" level="%p" thread="%t">
                    <log4j:message>%enc{%m}{XML}</log4j:message>
                    <log4j:MDC>%enc{host=%X{host} processid=%X{processid}}{XML}</log4j:MDC>
                    <log4j:locationInfo class="%C" method="%M" file="%F" line="%L"/>
                    <log4j:throwable>%enc{%throwable{full}}{XML}</log4j:throwable>
                    </log4j:event>%n]]>
                </Pattern>
            </PatternLayout>
        </Console>
        <ProcessNamedDailyRollingFileAppender name="file" fileName="${logsFolderLocation}%N.xml" filePattern="${logsFolderLocation}%N.xml.%d{yyyy-MM-dd}">
            <PatternLayout>
                <Pattern><![CDATA[<log4j:event logger="%c" timestamp="%d{dd-MMM-yyyy HH:mm:ss.SSS}{Europe/Amsterdam}" level="%p" thread="%t">
                    <log4j:message>%enc{%m}{XML}</log4j:message>
                    <log4j:MDC>%enc{host=%X{host} processid=%X{processid}}{XML}</log4j:MDC>
                    <log4j:locationInfo class="%C" method="%M" file="%F" line="%L"/>
                    <log4j:throwable>%enc{%throwable{full}}{XML}</log4j:throwable>
                    </log4j:event>%n]]>
                </Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1"/>
            </Policies>
            <DefaultRolloverStrategy max="5"/>
        </ProcessNamedDailyRollingFileAppender>
        <ApplicationNameBasedAppender name="ApplicationNameBasedAppender">
             <PatternLayout>
                <Pattern><![CDATA[<log4j:event logger="%c" timestamp="%d{dd-MMM-yyyy HH:mm:ss.SSS}{Europe/Amsterdam}" level="%p" thread="%t">
                    <log4j:message>%enc{%m}{XML}</log4j:message>
                    <log4j:MDC>%enc{host=%X{host} processid=%X{processid}}{XML}</log4j:MDC>
                    <log4j:locationInfo class="%C" method="%M" file="%F" line="%L"/>
                    <log4j:throwable>%enc{%throwable{full}}{XML}</log4j:throwable>
                    </log4j:event>%n]]>
                </Pattern>
            </PatternLayout>
        </ApplicationNameBasedAppender>        
        <!--
        <OSBasedEventAppender name="OSBasedEventAppender">
             <PatternLayout>
                <Pattern><![CDATA[<log4j:event logger="%c" timestamp="%d{dd-MMM-yyyy HH:mm:ss.SSS}{Europe/Amsterdam}" level="%p" thread="%t">
                    <log4j:message>%enc{%m}{XML}</log4j:message>
                    <log4j:MDC>%enc{host=%X{host} processid=%X{processid}}{XML}</log4j:MDC>
                    <log4j:locationInfo class="%C" method="%M" file="%F" line="%L"/>
                    <log4j:throwable>%enc{%throwable{full}}{XML}</log4j:throwable>
                    </log4j:event>%n]]>
                </Pattern>
            </PatternLayout>
        </OSBasedEventAppender>
        -->
        <CordysZeroConfJDBCAppender name="CordysZeroConfJDBCAppender"/>
    </Appenders>
    <Loggers>
        <Logger name="com.cordys.cap.applicationconnector.CAPMethod$CapLogger" level="info" additivity="false">
            <AppenderRef ref="ApplicationNameBasedAppender"/>
        </Logger>
        <Logger name="com.eibus.management.AlertSystem" level="info">
            <!--
            <AppenderRef ref="OSBasedEventAppender"/>
            -->
        </Logger>
        <Logger name="com.eibus.management.ManagedComponent" level="info"/>
        <Root level="error">
            <AppenderRef ref="file"/>
            <AppenderRef ref="CordysZeroConfJDBCAppender"/>
        </Root>
    </Loggers>
</Configuration>