<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true">
  <targets>
    <target name="consoleTarget" xsi:type="ColoredConsole" layout="${date} ${logger} - ${message} ${exception:ToString}" />
    <target name="udpTarget" xsi:type="Chainsaw" address="udp://127.0.0.1:20480"
            includeCallSite="true" includeSourceInfo="true" includeNLogData="true" includeNDC="true" includeMDC="true">
      <parameter name="exception" layout="${exception:format=ToString}" xsi:type="NLogViewerParameterInfo" />
      <parameter name="processname" layout="${processname}" xsi:type="NLogViewerParameterInfo" />
      <parameter name="stacktrace" layout="${stacktrace:topFrames=99}" xsi:type="NLogViewerParameterInfo" />
      <parameter name="ThreadName" layout="${threadname}" xsi:type="NLogViewerParameterInfo" />
    </target>

    <target name="file" xsi:type="File"
        layout="${longdate} [${level}] ${logger}: ${message} ${exception:ToString}"
        fileName="${basedir}/App_Data/logs/${shortdate}.txt" />
  </targets>

  <rules>

    <logger name="IIS*" minlevel="Trace"  writeTo="consoleTarget"/>
    <logger name="Application" minlevel="Trace"  writeTo="consoleTarget"/>
    <logger name="*" minlevel="Trace"  writeTo="udpTarget"/>
    <logger name="*" minlevel="Trace"  writeTo="file">
      <filters>
        <when condition="logger == 'NzbDrone.SubSonic'" action="Ignore" />
      </filters>
    </logger>
  </rules>
</nlog>