Nlog.config 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. <!-- 定义日志输出格式模板 -->
  5. <variable name="myLayout" value="[${longdate}] ${level:uppercase=true} [${threadid}][${callsite:className=true:methodName=false:includeNamespace=false:skipFrames=1}] - ${message}${newline}${exception:format=toString}" />
  6. <!-- 全局设置:定义四个不同的异步文件目标 -->
  7. <targets>
  8. <!-- 1. 生产日志 (运行生产、机台操作、MES通讯) -->
  9. <target name="ProductionFile" xsi:type="AsyncWrapper" queueLimit="10000" overflowAction="Discard">
  10. <target xsi:type="File"
  11. fileName="D:/SkyUnion/SK.RF3.Data/Log/生产/${shortdate}.log"
  12. layout="${myLayout}"
  13. archiveEvery="Day"
  14. archiveAboveSize="104857600"
  15. archiveNumbering="Sequence"
  16. maxArchiveFiles="30"
  17. concurrentWrites="true"
  18. keepFileOpen="false"
  19. encoding="utf-8"/>
  20. </target>
  21. <!-- 2. 参数日志 (参数修改) -->
  22. <target name="ParameterFile" xsi:type="AsyncWrapper" queueLimit="10000" overflowAction="Discard">
  23. <target xsi:type="File"
  24. fileName="D:/SkyUnion/SK.RF3.Data/Log/参数/${shortdate}.log"
  25. layout="${myLayout}"
  26. archiveEvery="Day"
  27. archiveAboveSize="104857600"
  28. archiveNumbering="Sequence"
  29. maxArchiveFiles="30"
  30. concurrentWrites="true"
  31. keepFileOpen="false"
  32. encoding="utf-8"/>
  33. </target>
  34. <!-- 3. 流程日志 (流程步骤及状态) -->
  35. <target name="ProcessFile" xsi:type="AsyncWrapper" queueLimit="10000" overflowAction="Discard">
  36. <target xsi:type="File"
  37. fileName="D:/SkyUnion/SK.RF3.Data/Log/流程/${shortdate}.log"
  38. layout="${myLayout}"
  39. archiveEvery="Day"
  40. archiveAboveSize="104857600"
  41. archiveNumbering="Sequence"
  42. maxArchiveFiles="30"
  43. concurrentWrites="true"
  44. keepFileOpen="false"
  45. encoding="utf-8"/>
  46. </target>
  47. <!-- 4. 动作日志 (动作执行、视觉通讯) -->
  48. <target name="ActionFile" xsi:type="AsyncWrapper" queueLimit="10000" overflowAction="Discard">
  49. <target xsi:type="File"
  50. fileName="D:/SkyUnion/SK.RF3.Data/Log/动作/${shortdate}.log"
  51. layout="${myLayout}"
  52. archiveEvery="Day"
  53. archiveAboveSize="104857600"
  54. archiveNumbering="Sequence"
  55. maxArchiveFiles="30"
  56. concurrentWrites="true"
  57. keepFileOpen="false"
  58. encoding="utf-8"/>
  59. </target>
  60. <target name="LoggingProductionTarget" xsi:type="LoggingProductionTarget"/>
  61. <target name="LoggingParameterTarget" xsi:type="LoggingParameterTarget"/>
  62. <target name="LoggingProcessTarget" xsi:type="LoggingProcessTarget"/>
  63. <target name="LoggingActionTarget" xsi:type="LoggingActionTarget"/>
  64. </targets>
  65. <!-- 规则设置:将不同名称的 logger 映射到对应的目标文件 -->
  66. <rules>
  67. <!-- 所有名为 "ProductionLogger" 的日志写入 生产.log -->
  68. <logger name="ProductionLogger" minlevel="Trace" writeTo="ProductionFile,LoggingProductionTarget"/>
  69. <!-- 所有名为 "ParameterLogger" 的日志写入 参数.log -->
  70. <logger name="ParameterLogger" minlevel="Trace" writeTo="ParameterFile,LoggingParameterTarget"/>
  71. <!-- 所有名为 "ProcessLogger" 的日志写入 流程.log -->
  72. <logger name="ProcessLogger" minlevel="Trace" writeTo="ProcessFile,LoggingProcessTarget"/>
  73. <!-- 所有名为 "ActionLogger" 的日志写入 动作.log -->
  74. <logger name="ActionLogger" minlevel="Trace" writeTo="ActionFile,LoggingActionTarget"/>
  75. </rules>
  76. </nlog>