nlog.config 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- 配置文档 https://nlog-project.org/config -->
  3. <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" internalLogLevel="Info">
  4. <!-- 启用.net core的核心布局渲染器 -->
  5. <extensions>
  6. <add assembly="NLog.Web.AspNetCore" />
  7. </extensions>
  8. <!-- 写入日志的目标配置 archiveAboveSize="102400" maxArchiveDays="60" -->
  9. <targets>
  10. <!-- 跟踪 -->
  11. <target xsi:type="File" name="trace" fileName="../logs/trace-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" />
  12. <!-- 调试 -->
  13. <target xsi:type="File" name="debug" fileName="../logs/debug-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" />
  14. <!-- 信息 -->
  15. <target xsi:type="File" name="info" fileName="../logs/info-${shortdate}.log" layout="${longdate} | ${event-properties:item=EventId_Id} | ${uppercase:${level}} | ${logger} | url: ${aspnet-request-url} | action: ${aspnet-mvc-action} | ${newline}${message} ${exception:format=tostring}${newline}" />
  16. <!-- 警告 -->
  17. <target xsi:type="File" name="warn" fileName="../logs/warn-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" />
  18. <!-- 错误 -->
  19. <target xsi:type="File" name="error" fileName="../logs/error-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" />
  20. <!-- 控制台 -->
  21. <target xsi:type="Console" name="console" layout="${message}" />
  22. <!-- 数据库 https://github.com/NLog/NLog/wiki/Database-target -->
  23. <target name="db" xsi:type="Database" connectionString="Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1" dbProvider="System.Data.SQLite.SQLiteConnection, System.Data.SQLite">
  24. <commandText>
  25. INSERT INTO "ad_log"("Id", "Logged", "Level", "Message", "Logger", "Properties", "Callsite", "Exception") VALUES(@Id, @Logged, @Level, @Message, @Logger, @Properties, @Callsite, @Exception)
  26. </commandText>
  27. <!-- 自定义主键 -->
  28. <parameter name="@Id" layout="${event-properties:id}" />
  29. <parameter name="@Logged" layout="${date}" />
  30. <parameter name="@Level" layout="${level}" />
  31. <parameter name="@Message" layout="${message}" />
  32. <parameter name="@Logger" layout="${logger}" />
  33. <!-- 自定义属性 -->
  34. <parameter name="@properties" layout="${all-event-properties:separator=|}" />
  35. <parameter name="@Callsite" layout="${callsite}" />
  36. <parameter name="@Exception" layout="${exception:tostring}" />
  37. </target>
  38. </targets>
  39. <!-- 映射规则 -->
  40. <rules>
  41. <!--跳过不重要的微软日志-->
  42. <logger name="Microsoft.*" maxlevel="Debug" final="true" />
  43. <logger name="Microsoft.AspNetCore.*" maxlevel="Info" final="true" />
  44. <!--跳过不重要的CAP日志-->
  45. <logger name="DotNetCore.CAP.*" maxlevel="Debug" final="true" />
  46. <!-- 数据库 -->
  47. <logger name="db" writeTo="db" />
  48. <!-- 命令台 -->
  49. <logger name="*" minlevel="Trace" writeTo="console" />
  50. <!-- 跟踪 -->
  51. <logger name="*" minlevel="Trace" maxlevel="Trace" writeTo="trace" />
  52. <!-- 调试 -->
  53. <logger name="*" minlevel="Debug" maxlevel="Debug" writeTo="debug" />
  54. <!-- 信息 -->
  55. <logger name="*" minlevel="Info" maxlevel="Info" writeTo="info" />
  56. <!-- 警告 -->
  57. <logger name="*" minlevel="Info" maxlevel="Warn" writeTo="warn" />
  58. <!-- 错误 -->
  59. <logger name="*" minlevel="Error" maxlevel="Fatal" writeTo="error" />
  60. </rules>
  61. </nlog>