<?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="myvar" value="myvalue"/>

  <!--
  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.
    -->

    <!--
    Write events to a file with the date in the filename.
    <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
            layout="${longdate} ${uppercase:${level}} ${message}" />
    -->
    <target xsi:type="File" name="f_debug" fileName="${basedir}/logs/debug/${shortdate}.log"
          layout="${longdate} ${logger} ${uppercase:${level}} ${message}"
          archiveAboveSize="1048576" encoding="utf-8"/>
    <target xsi:type="File" name="f_error" fileName="${basedir}/logs/error/${shortdate}.log"
          layout="${longdate} ${logger} ${uppercase:${level}} ${message} ${onexception:inner=${newline} *****Error***** ${newline} ${exception:format=ToString}}"
          archiveAboveSize="1048576" encoding="utf-8"/>
    <target xsi:type="File" name="plcWrite" fileName="${basedir}/logs/plcWrite/${shortdate}.log"
      layout="${longdate} ${message}"
      archiveAboveSize="1048576" encoding="utf-8"/>

  </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="FObjSysOfClient" minlevel="Debug" writeTo="f_debug" />-->
    <!--name 可以用匹配-->
    <logger name="FLY.OBJComponents.Server.PLCProxySystem" minlevel="Info" writeTo="plcWrite" />
    <logger name="*" minlevel="Error" writeTo="f_error" />
  </rules>
</nlog>