什么';当async打开时,nlog中时间戳的含义
本文关键字:nlog 时间戳 async 什么 | 更新日期: 2023-09-27 17:58:48
当我在NLog的配置文件中设置async=true
时,我对NLog的行为有点困惑。
- 日志文件中的时间戳是调用
logger.Debug/Error/Info/Trace
的时间,还是日志从缓冲区写入文件系统中的文件的时间 - Answer Nlog Async和Log Sequence提到,当Async打开时,日志序列的顺序是不保证的,这是真的吗
- 如果我设置了
async=true
,在进行性能测试时会对结果产生影响吗
-
根据NLog消息来源:https://github.com/NLog/NLog/blob/master/src/NLog/Logger.csLogEventInfo对象c是在日志记录调用时创建的(并且在该时刻带有时间戳)。LogEventInfo对象的写入然后异步地写入到适当的目标。因此,日志文件中的时间戳应该代表日志调用本身的时间戳,而不是日志信息写入日志文件的时间。
-
我没有任何内容可以添加到链接的答案中。我会说xharze参与了NLog的开发,所以他应该知道自己在说什么。
-
我的第一个猜测是,设置
async=true
将提高应用程序在日志记录方面的性能,因为应用程序在继续执行之前不必等待日志记录请求完成。