<log4net>
    <appender name="ErrorInternalAppender" type="Codice.LogWrapper.DailyRollingFileAppender, plasticd">
        <file type="log4net.Util.PatternString" value="plastic.errors.log.txt" />
        <maxDays value="7" />
        <preserveLogFileNameExtension value="true" />
        <appendToFile value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %property{UserId} %property{ClientMachine} %-5level %logger - %message%newline" />
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter"><levelMin value="ERROR" /><levelMax value="FATAL" /></filter>
    </appender>

    <appender name="DebugInternalAppender" type="Codice.LogWrapper.DailyRollingFileAppender, plasticd">
        <file type="log4net.Util.PatternString" value="plastic.debug.log.txt" />
        <maxDays value="7" />
        <preserveLogFileNameExtension value="true" />
        <appendToFile value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %property{ThreadId} %property{RequestId} %property{TransactionID} %property{UserId} %property{ClientMachine} %-5level %logger - %message%newline" />
        </layout>
    </appender>

    <appender name="ChannelCallInternalAppender" type="Codice.LogWrapper.DailyRollingFileAppender, plasticd">
        <file type="log4net.Util.PatternString" value="plastic.channelcall.log.txt" />
        <maxDays value="7" />
        <preserveLogFileNameExtension value="true" />
        <appendToFile value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %property{RequestId} %-5level %logger - %message%newline" />
        </layout>
    </appender>

    <appender name="RelevantInternalAppender" type="Codice.LogWrapper.DailyRollingFileAppender, plasticd">
        <param name="Threshold" value="INFO"/>
        <file type="log4net.Util.PatternString" value="plastic.relevant.log.txt" />
        <maxDays value="7" />
        <preserveLogFileNameExtension value="true" />
        <appendToFile value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %property{UserId} %property{ClientMachine} %-5level %logger - %message%newline" />
        </layout>
    </appender>

    <appender name="RealtimeRequestInternalAppender" type="Codice.LogWrapper.DailyRollingFileAppender, plasticd">
        <file type="log4net.Util.PatternString" value="plastic.realtime.requests.log.txt" />
        <maxDays value="7" />
        <preserveLogFileNameExtension value="true" />
        <appendToFile value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %property{UserId} %property{ClientMachine} %message%newline" />
        </layout>
    </appender>

    <appender name="ErrorAppender" type="Codice.LogWrapper.BackgroundForwardingAppender, plasticd">
      <appender-ref ref="ErrorInternalAppender" />
    </appender>

     <appender name="DebugAppender" type="Codice.LogWrapper.BackgroundForwardingAppender, plasticd">
      <appender-ref ref="DebugInternalAppender" />
    </appender>

    <appender name="ChannelCallAppender" type="Codice.LogWrapper.BackgroundForwardingAppender, plasticd">
      <appender-ref ref="ChannelCallInternalAppender" />
    </appender>

    <appender name="RelevantAppender" type="Codice.LogWrapper.BackgroundForwardingAppender, plasticd">
      <appender-ref ref="RelevantInternalAppender" />
    </appender>

    <appender name="RealtimeRequestAppender" type="Codice.LogWrapper.BackgroundForwardingAppender, plasticd">
      <appender-ref ref="RealtimeRequestInternalAppender" />
    </appender>

    <logger name="ChannelCall">          <level value="DEBUG" /><appender-ref ref="ChannelCallAppender" /><appender-ref ref="RealtimeRequestAppender" /></logger>
    <logger name="WorkerThreadPool">     <level value="DEBUG" /><appender-ref ref="RealtimeRequestAppender" /></logger>
    <logger name="Daemon">               <appender-ref ref="RelevantAppender" /></logger>
    <logger name="ServerStats">          <appender-ref ref="RelevantAppender" /></logger>
    <logger name="Repository">           <appender-ref ref="RelevantAppender" /></logger>
    <logger name="RepositoryHandler">    <appender-ref ref="RelevantAppender" /></logger>
    <logger name="LicenseManager">       <appender-ref ref="RelevantAppender" /></logger>
    <logger name="CacheManager">         <appender-ref ref="RelevantAppender" /></logger>
    <logger name="Security">             <appender-ref ref="RelevantAppender" /></logger>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="ErrorAppender" />
        <appender-ref ref="DebugAppender" />
    </root>
</log4net>
