Nlog.config 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4. <!--若是想生成Nlog内部Log用该段代码:internalLogLevel="Trace"
  5. internalLogFile="D:/SkyUnion/SK.RF3.Data/Log/nlog-internal.log"-->
  6. <!-- assembly 填写你存放 Target 的类库 DLL 名称(不带 .dll 后缀) -->
  7. <extensions>
  8. <add assembly="SKMC.Api" />
  9. </extensions>
  10. <!-- 定义日志输出格式模板 -->
  11. <variable name="myLayout" value="[${longdate}] ${level:uppercase=true} [${threadid}][${callsite:className=true:methodName=false:includeNamespace=false:skipFrames=1}] - ${message}${exception:format=toString}" />
  12. <!-- 全局设置:定义四个不同的异步文件目标 -->
  13. <targets>
  14. <!-- 1. 生产日志 (运行生产、机台操作、MES通讯) -->
  15. <target name="ProductionFile" xsi:type="AsyncWrapper" queueLimit="10000" overflowAction="Discard">
  16. <target xsi:type="File"
  17. fileName="D:/SkyUnion/SK.RF3.Data/Log/生产/${shortdate}.log"
  18. layout="${myLayout}"
  19. archiveEvery="Day"
  20. archiveAboveSize="104857600"
  21. archiveNumbering="Sequence"
  22. maxArchiveFiles="30"
  23. concurrentWrites="true"
  24. keepFileOpen="false"
  25. encoding="utf-8"/>
  26. </target>
  27. <!-- 2. 参数日志 (参数修改) -->
  28. <target name="ParameterFile" xsi:type="AsyncWrapper" queueLimit="10000" overflowAction="Discard">
  29. <target xsi:type="File"
  30. fileName="D:/SkyUnion/SK.RF3.Data/Log/参数/${shortdate}.log"
  31. layout="${myLayout}"
  32. archiveEvery="Day"
  33. archiveAboveSize="104857600"
  34. archiveNumbering="Sequence"
  35. maxArchiveFiles="30"
  36. concurrentWrites="true"
  37. keepFileOpen="false"
  38. encoding="utf-8"/>
  39. </target>
  40. <!-- 3. 流程日志 (流程步骤及状态) -->
  41. <target name="ProcessFile" xsi:type="AsyncWrapper" queueLimit="10000" overflowAction="Discard">
  42. <target xsi:type="File"
  43. fileName="D:/SkyUnion/SK.RF3.Data/Log/流程/${shortdate}.log"
  44. layout="${myLayout}"
  45. archiveEvery="Day"
  46. archiveAboveSize="104857600"
  47. archiveNumbering="Sequence"
  48. maxArchiveFiles="30"
  49. concurrentWrites="true"
  50. keepFileOpen="false"
  51. encoding="utf-8"/>
  52. </target>
  53. <!-- 4. 动作日志 (动作执行、视觉通讯) -->
  54. <target name="ActionFile" xsi:type="AsyncWrapper" queueLimit="10000" overflowAction="Discard">
  55. <target xsi:type="File"
  56. fileName="D:/SkyUnion/SK.RF3.Data/Log/动作/${shortdate}.log"
  57. layout="${myLayout}"
  58. archiveEvery="Day"
  59. archiveAboveSize="104857600"
  60. archiveNumbering="Sequence"
  61. maxArchiveFiles="30"
  62. concurrentWrites="true"
  63. keepFileOpen="false"
  64. encoding="utf-8"/>
  65. </target>
  66. <target name="LoggingProductionTarget" xsi:type="LoggingProductionTarget"/>
  67. <target name="LoggingParameterTarget" xsi:type="LoggingParameterTarget"/>
  68. <target name="LoggingProcessTarget" xsi:type="LoggingProcessTarget"/>
  69. <target name="LoggingActionTarget" xsi:type="LoggingActionTarget"/>
  70. </targets>
  71. <!-- 规则设置:将不同名称的 logger 映射到对应的目标文件 -->
  72. <rules>
  73. <!-- 所有名为 "ProductionLogger" 的日志写入 生产.log -->
  74. <logger name="ProductionLogger" minlevel="Trace" writeTo="ProductionFile,LoggingProductionTarget"/>
  75. <!-- 所有名为 "ParameterLogger" 的日志写入 参数.log -->
  76. <logger name="ParameterLogger" minlevel="Trace" writeTo="ParameterFile,LoggingParameterTarget"/>
  77. <!-- 所有名为 "ProcessLogger" 的日志写入 流程.log -->
  78. <logger name="ProcessLogger" minlevel="Trace" writeTo="ProcessFile,LoggingProcessTarget"/>
  79. <!-- 所有名为 "ActionLogger" 的日志写入 动作.log -->
  80. <logger name="ActionLogger" minlevel="Trace" writeTo="ActionFile,LoggingActionTarget"/>
  81. </rules>
  82. </nlog>