NLog.config 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
  5. autoReload="true"
  6. throwExceptions="false"
  7. internalLogLevel="Warn"
  8. internalLogFile="Logs/nlog-internal.log">
  9. <!--internalLogLevel="Off"-->
  10. <!-- optional, add some variables
  11. https://github.com/nlog/NLog/wiki/Configuration-file#variables
  12. -->
  13. <variable name="myvar" value="myvalue"/>
  14. <!--
  15. See https://github.com/nlog/nlog/wiki/Configuration-file
  16. for information on customizing logging rules and outputs.
  17. -->
  18. <targets>
  19. <!--
  20. add your targets here
  21. See https://github.com/nlog/NLog/wiki/Targets for possible targets.
  22. See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
  23. -->
  24. <!--
  25. Write events to a file with the date in the filename.
  26. <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
  27. layout="${longdate} ${uppercase:${level}} ${message}" />
  28. -->
  29. <!-- write logs to file -->
  30. <target xsi:type="File" name="allfile" fileName="logs/${date:format=yyyy-MM-dd}/log.txt"
  31. layout="------------------------------------------${newline}${longdate} | ${uppercase:${level}} | ${logger} ${newline}${message} ${exception} ${newline} | url: ${aspnet-request-url} | action: ${aspnet-mvc-action}" />
  32. <target xsi:type="Null" name="blackhole" />
  33. <target xsi:type="Database" name="database" dbProvider="MySql.Data.MySqlClient.MySqlConnection,Mysql.Data">
  34. <connectionString>${var:connectionString}</connectionString>
  35. <commandText>
  36. INSERT INTO log(Platform,Category,LogLevel,Module,Action,Message,RecCode,RecTime)
  37. VALUES (@applicationId,@category,@levels, @logger, @action, @message,@reccode,@operatingTime);
  38. </commandText>
  39. <parameter name="@application" layout="EapWeb" />
  40. <parameter name="@applicationId" layout="1" />
  41. <parameter name="@levels" layout="${level}" />
  42. <parameter name="@operatingTime" layout="${date}" />
  43. <parameter name="@operatingaddress" layout="${aspnet-Request-IP}" />
  44. <parameter name="@logger" layout="${logger}" />
  45. <parameter name="@callSite" layout="${callsite}" />
  46. <parameter name="@requesturl" layout="${aspnet-request-url}" />
  47. <parameter name="@referrerurl" layout="${aspnet-request}" />
  48. <parameter name="@action" layout="${aspnet-mvc-controller}/${aspnet-mvc-action}" />
  49. <parameter name="@controller" layout="${aspnet-mvc-controller}" />
  50. <parameter name="@message" layout="${message}" />
  51. <parameter name="@exception" layout="${exception:tostring}" />
  52. <parameter name="@category" layout="${event-properties:item=category}" />
  53. <parameter name="@reccode" layout="${event-properties:item=reccode}" />
  54. </target>
  55. </targets>
  56. <rules>
  57. <!-- add your logging rules here -->
  58. <!--
  59. Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
  60. <logger name="*" minlevel="Debug" writeTo="f" />
  61. -->
  62. <!--All logs, including from Microsoft-->
  63. <!--minlevel 改为Trace 跟踪全部 Error 只捕获异常-->
  64. <logger name="*" minlevel="Error" maxlevel="Fatal" writeTo="allfile" />
  65. <!--Skip Microsoft logs and so log only own logs-->
  66. <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
  67. <!--<logger name="*" minlevel="Trace" writeTo="ownFile-web" />-->
  68. <!--<logger name="*" minlevel="Fatal" writeTo="database" />-->
  69. </rules>
  70. </nlog>