gpt4 book ai didi

c# - NLog v2 中的 AsyncWrapper 和 BufferingWrapper 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 21:46:17 24 4
gpt4 key购买 nike

我正在查看一些 best practices for NLog当我注意到以下目标配置时:

<targets async="true">
<default-wrapper xsi:type="BufferingWrapper" bufferSize="100"/>
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" />
<!-- other stuff -->
</targets>

据我了解,这用 AsyncWrapper 和 BufferingWrapper 包装了文件目标...

两者有什么区别?我是否需要两者,因为 NLog 网站将两者都描述为“缓冲”......

最佳答案

一旦缓冲区中有足够的消息(由 bu​​fferSize 参数指定),BufferingWrapper 将阻止并将消息写入其目标。调用者需要等到写入完成。

AsynWrapper 使用单独的线程来处理写入。调用立即返回,调用者可以继续其工作,稍后写入日志。

关于c# - NLog v2 中的 AsyncWrapper 和 BufferingWrapper 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com