<?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">

  <!-- optional, add some variables
  https://github.com/nlog/NLog/wiki/Configuration-file#variables
  -->
  <variable name="logDir" value="${basedir}/logs"/>

  <!--
  See https://github.com/nlog/nlog/wiki/Configuration-file
  for information on customizing logging rules and outputs.
   -->
  <targets>
    <!--
    add your targets here
    See https://github.com/nlog/NLog/wiki/Targets for possible targets.
    See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
    -->
    <target xsi:type="File"
        name="f_base"
        fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
        layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}"
        archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
        archiveNumbering="Sequence"
        archiveAboveSize="10240000"
        maxArchiveFiles="60"
        enableArchiveFileCompression="false"
        keepFileOpen="false"
    />
    <target xsi:type="File"
        name="f_error"
        fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
        layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}${newline}${exception:format=tostring}"
        archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
        archiveNumbering="Sequence"
        archiveAboveSize="10240000"
        maxArchiveFiles="60"
        enableArchiveFileCompression="false"
        keepFileOpen="false"
    />
    <!--Target per asp.net 4.5+ (NON VA con 4.0 common-->
    <!--<target xsi:type="File"
      name="f"
      fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
      layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}|${exception:format=tostring}"
      archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.zip"
      archiveNumbering="Sequence"
      archiveEvery="Day"
      archiveOldFileOnStartup="true"
      maxArchiveFiles="90"
      enableArchiveFileCompression="true"
      keepFileOpen="true"
    />-->
    <!--<target name="fAsync" xsi:type="AsyncWrapper" queueLimit="5" overflowAction="Discard">
      <target xsi:type="File"
        keepFileOpen="true"
        fileName="${basedir}/logs/${shortdate}_${var:codIOB:default=0000}.log"
        layout="${longdate}|${uppercase:${level}}|${var:codIOB:default=0000}|${callsite}|${message}|${exception:format=tostring}"
        archiveFileName="${basedir}/logs/${shortdate}_${var:codIOB:default=0000}.{###}.zip"
        archiveNumbering="Sequence"
        archiveEvery="Day"
        archiveOldFileOnStartup="true"
        maxArchiveFiles="0"
        enableArchiveFileCompression="true"
      />
    </target>-->
  </targets>

  <rules>
    <!-- add your logging rules here -->
    <!--
    Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace)  to "f"
    <logger name="*" minlevel="Debug" writeTo="f" />
    -->
    <logger name="*" minlevel="Debug" maxlevel="Warn" final="true" writeTo="f_base" />
    <logger name="*" minlevel="Error" writeTo="f_error" />
  </rules>
</nlog>
