nlog.config 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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="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}" />
  12. <!-- 警告 -->
  13. <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}" />
  14. <!-- 错误 -->
  15. <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}" />
  16. <!-- 控制台 -->
  17. <target xsi:type="Console" name="console" layout="${message}" />
  18. <!-- 数据库 https://github.com/NLog/NLog/wiki/Database-target -->
  19. <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">
  20. <commandText>
  21. INSERT INTO "ad_log"("Id", "Logged", "Level", "Message", "Logger", "Properties", "Callsite", "Exception") VALUES(@Id, @Logged, @Level, @Message, @Logger, @Properties, @Callsite, @Exception)
  22. </commandText>
  23. <!-- 自定义主键 -->
  24. <parameter name="@Id" layout="${event-properties:id}" />
  25. <parameter name="@Logged" layout="${date}" />
  26. <parameter name="@Level" layout="${level}" />
  27. <parameter name="@Message" layout="${message}" />
  28. <parameter name="@Logger" layout="${logger}" />
  29. <!-- 自定义属性 -->
  30. <parameter name="@properties" layout="${all-event-properties:separator=|}" />
  31. <parameter name="@Callsite" layout="${callsite}" />
  32. <parameter name="@Exception" layout="${exception:tostring}" />
  33. </target>
  34. </targets>
  35. <!-- 映射规则 -->
  36. <rules>
  37. <!--跳过不重要的微软日志-->
  38. <logger name="Microsoft.*" maxlevel="Info" final="true" />
  39. <!-- 数据库 -->
  40. <logger name="db" writeTo="db" />
  41. <!-- 调试 -->
  42. <logger name="*" minlevel="Trace" maxlevel="Debug" writeTo="debug" />
  43. <logger name="*" minlevel="Trace" writeTo="console" />
  44. <!-- 警告 -->
  45. <logger name="*" minlevel="Info" maxlevel="Warn" writeTo="warn" />
  46. <!-- 错误 -->
  47. <logger name="*" minlevel="Error" maxlevel="Fatal" writeTo="error" />
  48. </rules>
  49. </nlog>