﻿<?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="true"
      internalLogLevel="Debug"
      internalLogToTrace="false">

  <!-- targets -->
  <targets>
    <!-- debug console log -->
    <target name="debugLog" xsi:type="Debugger"
            layout="${time} - ${pad:padding=5:inner=${level:uppercase=true}} - ${logger}.${event-properties:item=methodName} - ${when:when='${event-properties:item=username}' != 'none':inner=${event-properties:item=username} - :else=}${message}${event-properties:item=requestContextId}"/>

    <!-- file log: 10 MB files, up to 10 archived files (total of 110 MB, including active log), nlog deletes old files automatically -->
    <target name="debugFileLog" xsi:type="File"
            layout="${longdate} - ${pad:padding=5:inner=${level:uppercase=true}} - ${logger}.${event-properties:item=methodName} - ${when:when='${event-properties:item=username}' != 'none':inner=${event-properties:item=username} - :else=}${message}${event-properties:item=requestContextId}"
            fileName="${basedir}/logs/crossroads.debug.log"
            archiveFileName="${basedir}/logs/crossroads.debug.{#}.log"
            archiveNumbering="DateAndSequence"
            archiveDateFormat="yyyy-MM-dd"
            archiveAboveSize="10000000"
            archiveOldFileOnStartup="true"
            maxArchiveFiles="10"
            keepFileOpen="true"
            concurrentWrites="false" />
  </targets>

  <!-- rules -->
  <rules>
    <logger name="*" minlevel="Trace" writeTo="debugLog" />
    <logger name="*" minlevel="Debug" writeTo="debugFileLog" />
  </rules>
</nlog>