NLog.config 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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}] - ${message}${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/Test/logs/生产/${shortdate}.log"
  12. layout="${myLayout}"
  13. archiveEvery="Day"
  14. archiveAboveSize="1024"
  15. archiveNumbering="Rolling"
  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/Test/logs/参数/${shortdate}.log"
  25. layout="${myLayout}"
  26. archiveEvery="Day"
  27. archiveAboveSize="104857600"
  28. archiveNumbering="Rolling"
  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/Test/logs/流程/${shortdate}.log"
  38. layout="${myLayout}"
  39. archiveEvery="Day"
  40. archiveAboveSize="104857600"
  41. archiveNumbering="Rolling"
  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/Test/logs/动作/${shortdate}.log"
  51. layout="${myLayout}"
  52. archiveEvery="Day"
  53. archiveAboveSize="104857600"
  54. archiveNumbering="Rolling"
  55. maxArchiveFiles="30"
  56. concurrentWrites="true"
  57. keepFileOpen="false"
  58. encoding="utf-8"/>
  59. </target>
  60. <target name="LoggingEventTarget" xsi:type="WpfApp1.LoggingEventTarget"/>
  61. </targets>
  62. <!-- 规则设置:将不同名称的 logger 映射到对应的目标文件 -->
  63. <rules>
  64. <!-- 所有名为 "ProductionLogger" 的日志写入 生产.log -->
  65. <logger name="ProductionLogger" minlevel="Trace" writeTo="ProductionFile" />
  66. <!-- 所有名为 "ParameterLogger" 的日志写入 参数.log -->
  67. <logger name="ParameterLogger" minlevel="Trace" writeTo="ParameterFile" />
  68. <!-- 所有名为 "ProcessLogger" 的日志写入 流程.log -->
  69. <logger name="ProcessLogger" minlevel="Trace" writeTo="ProcessFile" />
  70. <!-- 所有名为 "ActionLogger" 的日志写入 动作.log -->
  71. <logger name="ActionLogger" minlevel="Trace" writeTo="ActionFile" />
  72. <!-- 所有日志 >= Tarce 写到LoggingEventTarget类 -->
  73. <logger name="*" minlevel="Trace" writeTo="LoggingEventTarget" />
  74. </rules>
  75. </nlog>