<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">

    <variable name="sbctempdir" value="${basedir}" />
    <variable name="sbcdatadir" value="${basedir}" />

    <targets>
        <target name="file" xsi:type="AsyncWrapper" queueLimit="5000" overflowAction="Discard">
            <target xsi:type="File" name="f" fileName="${var:sbctempdir}/SBCLog.log"
                    layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff} [${uppercase:${level}}]: ${message} ${exception:format=tostring}"
                    archiveEvery="Day"
                    archiveNumbering="DateAndSequence"
                    archiveFileName="${var:sbctempdir}/SBCLog.{#}.log"
                    archiveDateFormat="yyyy-MM-dd"
                    archiveAboveSize="52480000"
                    maxArchiveFiles="10"
                    keepFileOpen="true"
                    concurrentWrites="true"
                    openFileCacheTimeout="30"
            />
        </target>

        <target xsi:type="ColoredConsole"
                name="colored"
                layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff} [${uppercase:${level}}]: ${message} ${exception:format=tostring}"
                useDefaultRowHighlightingRules="false">
            <highlight-row condition="level == LogLevel.Debug" foregroundColor="DarkGray" />
            <highlight-row condition="level == LogLevel.Info" foregroundColor="Gray" />
            <highlight-row condition="level == LogLevel.Warn" foregroundColor="Yellow" />
            <highlight-row condition="level == LogLevel.Error" foregroundColor="Red" />
            <highlight-row condition="level == LogLevel.Fatal" foregroundColor="Red" backgroundColor="White" />
        </target>



    </targets>

    <rules>
        <logger name="Microsoft.*" maxlevel="Warning" final="true" />
        <logger name="Quartz*" minlevel="Trace" maxlevel="Info" final="true" />
        <logger name="*" minlevel="Trace" writeTo="f,colored" />
    </rules>
</nlog>
