Configure for NLOG
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true"> <targets async="true"> <target name="console" xsi:type="ColoredConsole" layout="${date:format=HH\:mm\:ss} [ThreadId ${threadid:padding=2}] ${logger:shortName=true:padding=25} : ${message} ${exception:format=message}" /> <target name="viewer" xsi:type="Chainsaw" address="udp://localhost:8071" /> <target name="prox" xsi:type="xxxprox" application="xxxxServer"/> <target name="eventlog" xsi:type="EventLog" log="xxx Log" source="xxxServer" layout="[ThreadId ${threadid}] ${logger:shortName=true}: ${message} ${exception:format=tostring}"/> <target name="testfile" xsi:type="File" fileName="c:\perftest.txt" layout="${date:format=HH\:mm\:ss.fff} ${logger:shortName=true:padding=25} : ${message} ${exception:format=message}" /> </targets> <rules> <logger name="*" minlevel="Info" writeTo="prox,eventlog" /> <logger name="*" writeTo="viewer" /> <logger name="*" levels="Fatal,Error,Info,Warn,Trace" writeTo="console" /> <logger name="*" writeTo="testfile" /> </rules> </nlog> for detail async configure, <targets> <target xsi:type="AsyncWrapper" name="String" queueLimit="Integer" timeToSleepBetweenBatches="Integer" batchSize="Integer" overflowAction="Enum"> <target xsi:type="wrappedTargetType" ...target properties... /> </target> </targets> queueLimit - Limit on the number of requests in the lazy writer thread request queue. Integer Default: 10000 timeToSleepBetweenBatches - Time in milliseconds to sleep between batches. Integer Default: 50 batchSize - Number of log events that should be processed in a batch by the lazy writer thread. Integer Default: 100 overflowAction - Action to be taken when the lazy writer thread request queue count exceeds the set limit. Default: Discard Possible values: •Block - Block until there's more room in the queue. This parameter is not supported in: NLog v1.0 for .NET Compact Framework 1.0 NLog v1.0 for .NET Compact Framework 2.0 NLog v2.0 for .NET Compact Framework 2.0 NLog v2.0 for .NET Compact Framework 3.5 •Discard - Discard the overflowing item. •Grow - Grow the queue. you can refer: https://github.com/nlog/NLog/wiki/AsyncWrapper-target