在我的 nlog 配置中,我设置了
<targets async="true">
了解所有日志记录现在与我的应用程序工作流异步发生。 (我注意到性能有所提高,尤其是在电子邮件目标上)。
不过,这让我想到了日志序列。我知道对于异步,不能保证操作系统执行异步工作的顺序。因此,如果在我的 Web 应用程序中,多个请求进入同一个方法,每个请求都将它们的发生记录到 NLog,这是否真的意味着事件出现在我的日志目标中的顺序不一定是日志出现的顺序?方法被各种请求调用?
如果是这样,这只是一个人必须忍受的异步的结果吗?或者我可以做些什么来保持我的日志反射(reflect)正确的顺序?
最佳答案
不幸的是,这是你必须忍受的。如果保持序列很重要,则必须同步运行它。
但是,如果您可以手动维护日志消息中的序列号,这可能是一个解决方案。
关于Nlog 异步和日志序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15607930/