C# 什么';异步开启时nlog中时间戳的含义是什么?

C# 什么';异步开启时nlog中时间戳的含义是什么?,c#,.net,timestamp,performance-testing,nlog,C#,.net,Timestamp,Performance Testing,Nlog,当我在NLog的配置文件中设置async=true时,我对NLog的behivor有点困惑 日志文件中的时间戳是指调用logger.Debug/Error/Info/Trace的时间,还是指日志从缓冲区写入文件系统中的时间 答案提到,当async开启时,日志序列的顺序不受保证,这是真的吗 如果我设置了async=true,在进行性能测试时,它是否会对结果产生影响 根据NLog来源:LogEventInfo objectc是在日志调用时创建的(并在该点加上时间戳)。然后将LogEventInfo对

当我在NLog的配置文件中设置
async=true
时,我对NLog的behivor有点困惑

  • 日志文件中的时间戳是指调用
    logger.Debug/Error/Info/Trace
    的时间,还是指日志从缓冲区写入文件系统中的时间
  • 答案提到,当async开启时,日志序列的顺序不受保证,这是真的吗
  • 如果我设置了
    async=true
    ,在进行性能测试时,它是否会对结果产生影响
  • 根据NLog来源:LogEventInfo objectc是在日志调用时创建的(并在该点加上时间戳)。然后将LogEventInfo对象的写入异步写入相应的目标。因此,日志文件中的时间戳应该表示日志调用本身的时间戳,而不是日志信息写入日志文件的时间

  • 我没有什么要补充的链接的答案。我要说的是,他参与了NLog的开发,所以他应该知道他在说什么

  • 我的第一个猜测是,设置
    async=true
    将提高应用程序在日志记录方面的性能,因为应用程序在继续执行之前不必等待日志记录请求完成