<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