AsyncWrapper target
在日志写入的时候,提供异步,缓冲区写入
语法:
<targets> <target xsi:type="AsyncWrapper" name="String" queueLimit="Integer" timeToSleepBetweenBatches="Integer" batchSize="Integer" overflowAction="Enum"> <target xsi:type="wrappedTargetType" ...target properties... /> </target></targets> |
参数
一般配置
name - target.的名称
缓冲区配置
queueLimit - 缓存队列的大小。默认1000
timeToSleepBetweenBatches - 每一批次的间隔。默认:50
batchSize - 一个批次的大小。默认:100
overflowAction - 当缓冲区溢出时的行为。默认:Discard
可能的值:
-
Block - 阻止写入直到缓冲区有空间
以下情况不被支持:
- 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 - 抛弃溢出的数据.
- Grow - 增大缓冲区
备注:
异步 target wrapper 使得执行日志更加的快速。基于消息队列,在独立的线程中执行。因为异步日志一个很常见的解决方案,所以NLog提供了一个简化的写法,在需要异步的target上面加上 async="true"特性就可以了
<targets async="true"> ... your targets go here ... </targets> |
浙公网安备 33010602011771号