﻿<?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="variable1" value="${newline}date：	${date}${newline}level：	${level}${newline}logger：	${logger}${newline}machinename：	${machinename}
${newline}clientip：${local-ip}${newline}message：	${message} ${newline}exception：${exception}
${newline}appdomain：	${appdomain}${newline}assembly-version：	${assembly-version}${newline}basedir：	${basedir}
${newline}callsite：	${callsite}${newline}callsite-linenumber：	${callsite-linenumber}${newline}counter：	${counter}${newline}nlogdir：	${nlogdir}
${newline}processid：	${processid}${newline}processname：	${processname}
${newline}traceid： ${aspnet-traceidentifier} 
${newline}specialfolder：	${specialfolder}
${newline}stacktrace: ${stacktrace}${newline}-----------------------------------------------------------" />
  <variable name="variable2" value="日志时间：${longdate}${newline}日志来源：${callsite}${newline}日志级别：${uppercase:${level}}${newline}消息内容：${message}${newline}异常信息：${exception}${newline}stacktrace: ${stacktrace}${newline}==============================================================${newline}" />
  <variable name="variable3" value="${longdate}消息内容：${message}${newline}==============================================================${newline}" />
  <variable name="variable_info" value="&lt;HR COLOR=blue&gt;${newline}日志时间：${longdate}  &lt;BR&gt;${newline}日志级别：${level} &lt;BR&gt;${newline}日 志 类：log_info &lt;BR&gt;${newline}${message} &lt;BR&gt;${newline} &lt;HR Size=1&gt;" />
  <variable name="variable_error" value="&lt;HR COLOR=blue&gt;${newline}日志时间：${longdate}  &lt;BR&gt;${newline}日志级别：${level} &lt;BR&gt;${newline}日 志 类：log_error &lt;BR&gt;${newline}${message} &lt;BR&gt;${newline} &lt;HR Size=1&gt;" />
  <variable name="variable_mqtt" value="&lt;HR COLOR=blue&gt;${newline}日志时间：${longdate}  &lt;BR&gt;${newline}日志级别：${level} &lt;BR&gt;${newline}日 志 类：log_mqtt &lt;BR&gt;${newline}${message} &lt;BR&gt;${newline} &lt;HR Size=1&gt;" />
  <variable name="variable_Infos" value="${longdate}消息内容：${message}${newline}==============================================================${newline}" />
  <variable name="variable_MEStIME" value="${longdate}消息内容：${message}${newline}==============================================================${newline}" />
  <variable name="variable_sql" value="${longdate}消息内容：${message}${newline}==============================================================${newline}" />
  <variable name="variable_SysErrorLog" value="${longdate}消息内容：${message}${newline}==============================================================${newline}" />
  <variable name="variable_SysErrorLogcn" value="${longdate}消息内容：${message}${newline}==============================================================${newline}" />
  <!--
  See https://github.com/nlog/nlog/wiki/Configuration-file
  for information on customizing logging rules and outputs.
   -->
  <targets>
    <!--
    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 name="log_file" xsi:type="AsyncWrapper" queueLimit="5000" overflowAction="Discard">
      <target xsi:type="File" fileName="${basedir}/logs/${shortdate}/${shortdate}.${level}.log"
        layout="${variable2}" archiveAboveSize="2097152" archiveEvery="Day" />
    </target>
    <!--<target name="log_file" xsi:type="File" fileName="${basedir}/logs/${shortdate}.log" layout="${variable1}" />-->
    <target name="log_info" xsi:type="File" fileName="${basedir}/Log/${shortdate}/LogInfo.${level}.log" layout="${variable_info}"  archiveAboveSize="2097152" archiveEvery="Day"/>
    <target name="log_error" xsi:type="File" fileName="${basedir}/Log/${shortdate}/LogError.${level}.log" layout="${variable_error}"  archiveAboveSize="2097152" archiveEvery="Day"/>
    <target name="log_mqtt" xsi:type="File" fileName="${basedir}/Log/${shortdate}/LogMqtt.${level}.log" layout="${variable_mqtt}"  archiveAboveSize="2097152" archiveEvery="Day"/>
    <target name="logs_Infos" xsi:type="File" fileName="${basedir}/Logs/Info/${shortdate}/${level}.log" layout="${variable_Infos}"  archiveAboveSize="2097152" archiveEvery="Day"/>
    <target name="logs_MEStIME" xsi:type="File" fileName="${basedir}/Logs/MESTime/${shortdate}/${level}.log" layout="${variable_MEStIME}"  archiveAboveSize="2097152" archiveEvery="Day"/>
    <target name="logs_Sql" xsi:type="File" fileName="${basedir}/Logs/SQL执行/${shortdate}/${level}.log" layout="${variable_sql}"  archiveAboveSize="2097152" archiveEvery="Day"/>
    <target name="logs_SysErrorLog" xsi:type="File" fileName="${basedir}/Logs/SysErrorLog/${shortdate}/${level}.log" layout="${variable_SysErrorLog}"  archiveAboveSize="2097152" archiveEvery="Day"/>
    <target name="logs_SysErrorLogcn" xsi:type="File" fileName="${basedir}/Logs/系统报错/${shortdate}/${level}.log" layout="${variable_SysErrorLogcn}"  archiveAboveSize="2097152" archiveEvery="Day"/>
    <target name="log_ReadPlcInt" xsi:type="File" fileName="${basedir}/hslLogs/${shortdate}/ReadPlcInt.${level}.log" layout="${Heartvariable}"  archiveAboveSize="2097152" archiveEvery="Day"/>
  </targets>
  <rules>
    <logger name="loginfo" minlevel="Info" writeTo="log_info" final="true"/>
    <logger name="logerror" minlevel="Info" writeTo="log_error" final="true"/>
    <logger name="logmqtt" minlevel="Info" writeTo="log_mqtt" final="true"/>
    <logger name="logsInfo" minlevel="Info" writeTo="logs_Infos" final="true"/>
    <logger name="logsMEStIME" minlevel="Info" writeTo="logs_MEStIME" final="true"/>
    <logger name="logsSql" minlevel="Info" writeTo="logs_Sql" final="true"/>
    <logger name="logsSysErrorLog" minlevel="Info" writeTo="logs_SysErrorLog" final="true"/>
    <logger name="logsSysErrorLogcn" minlevel="Info" writeTo="logs_SysErrorLogcn" final="true"/>
    <logger name="*" minlevel="Info"  writeTo="log_info" final="true"/>
  </rules>
</nlog>