nlog.config 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!-- XSD manual extracted from package NLog.Schema: https://www.nuget.org/packages/NLog.Schema-->
  3. <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xsi:schemaLocation="NLog NLog.xsd"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. autoReload="true"
  6. internalLogFile="log//log-internal.log"
  7. internalLogLevel="Info" >
  8. <!-- the targets to write to -->
  9. <targets>
  10. <!-- write logs to file -->
  11. <!--${date}|${level:uppercase=true}|${message} ${exception}|${logger}|${all-event-properties}-->
  12. <!--keep this 2 forward slash, it both worked for windows and linux-->
  13. <target xsi:type="File" name="main_target" enableArchiveFileCompression="true" maxArchiveFiles="20" archiveAboveSize="50000000" archiveNumbering="Sequence" fileName="log//Main_${date:format=yyyyMMdd}.log"
  14. layout="${date:format=HH\:mm\:ss.fff} [${threadid}:${level:uppercase=true}]${logger} - ${message} ${exception}" />
  15. <target xsi:type="File" name="communicator_target" enableArchiveFileCompression="true" maxArchiveFiles="20" archiveAboveSize="50000000" archiveNumbering="Sequence" fileName="log//Comm_${date:format=yyyyMMdd}.log"
  16. layout="${date:format=HH\:mm\:ss.fff} [${threadid}:${level:uppercase=true}]${message} ${exception}" />
  17. <target xsi:type="File" name="universalApiAuditing_target" enableArchiveFileCompression="true" maxArchiveFiles="20" archiveAboveSize="50000000" archiveNumbering="Sequence" fileName="log//ApiAuditing_${date:format=yyyyMMdd}.log"
  18. layout="${date:format=HH\:mm\:ss.fff} [${threadid}:${level:uppercase=true}]${message} ${exception}" />
  19. <target xsi:type="File" name="pumpHandler_target" enableArchiveFileCompression="true" maxArchiveFiles="20" archiveAboveSize="50000000" archiveNumbering="Sequence" fileName="log//PumpHandler_${date:format=yyyyMMdd}.log"
  20. layout="${date:format=HH\:mm\:ss.fff} [${threadid}:${level:uppercase=true}]${message} ${exception}" />
  21. <target xsi:type="File" name="application_target" enableArchiveFileCompression="true" maxArchiveFiles="20" archiveAboveSize="50000000" archiveNumbering="Sequence" fileName="log//Application_${date:format=yyyyMMdd}.log"
  22. layout="${date:format=HH\:mm\:ss.fff} [${threadid}:${level:uppercase=true}]${logger} - ${message} ${exception}" />
  23. <target xsi:type="File" name="performance_target" enableArchiveFileCompression="true" maxArchiveFiles="20" archiveAboveSize="50000000" archiveNumbering="Sequence" fileName="log//Performance_${date:format=yyyyMMdd}.log"
  24. layout="${date:format=HH\:mm\:ss.fff} [${threadid}:${level:uppercase=true}]${message} ${exception}" />
  25. <target name="dynamicPrivateFile" xsi:type="AsyncWrapper">
  26. <target name="innerTarget" xsi:type="File" enableArchiveFileCompression="true" maxArchiveFiles="20" archiveAboveSize="50000000" archiveNumbering="Sequence"
  27. fileName="log//${replace:searchFor=DynamicPrivate_:replaceWith=:inner=${logger}}_${date:format=yyyyMMdd}.log"
  28. layout="${date:format=HH\:mm\:ss.fff} [${threadid}:${level:uppercase=true}]${message} ${exception}"/>
  29. </target>
  30. </targets>
  31. <!-- rules to map from logger name to target -->
  32. <rules>
  33. <logger name="Main" minlevel="Trace" writeTo="main_target" />
  34. <logger name="Communicator" minlevel="Error" writeTo="communicator_target" />
  35. <logger name="StateMachineMessageCutter" minlevel="Info" writeTo="communicator_target" />
  36. <logger name="UniversalApiAuditing" minlevel="Info" writeTo="universalApiAuditing_target" />
  37. <logger name="PumpHandler" minlevel="Debug" writeTo="pumpHandler_target" />
  38. <logger name="Application" minlevel="Debug" writeTo="application_target" />
  39. <logger name="Performance" minlevel="Info" writeTo="performance_target" />
  40. <logger name="DynamicPrivate_Comm_*" minlevel="Error" writeTo="dynamicPrivateFile" final="true" />
  41. <!--Begin - Your custom log levels if the most below rule with minlevel 'Error' does not satisfy-->
  42. <!--End - Your custom log levels-->
  43. <!--SHOULD set a High level for avoid unintentional verbose logging-->
  44. <logger name="DynamicPrivate_*" minlevel="Error" writeTo="dynamicPrivateFile" final="true" />
  45. </rules>
  46. </nlog>