Nlog 异步和日志序列

标签 nlog

在我的 nlog 配置中,我设置了

<targets async="true">

了解所有日志记录现在与我的应用程序工作流异步发生。 (我注意到性能有所提高,尤其是在电子邮件目标上)。
不过,这让我想到了日志序列。我知道对于异步,不能保证操作系统执行异步工作的顺序。因此,如果在我的 Web 应用程序中,多个请求进入同一个方法,每个请求都将它们的发生记录到 NLog,这是否真的意味着事件出现在我的日志目标中的顺序不一定是日志出现的顺序?方法被各种请求调用?

如果是这样,这只是一个人必须忍受的异步的结果吗?或者我可以做些什么来保持我的日志反射(reflect)正确的顺序?

最佳答案

不幸的是,这是你必须忍受的。如果保持序列很重要,则必须同步运行它。

但是,如果您可以手动维护日志消息中的序列号,这可能是一个解决方案。

关于Nlog 异步和日志序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15607930/

相关文章:

c# - 使用 log4view 难以查看/接收 nlog 网络消息

c# - 如何避免 NLog.Config 中的冗余?

enums - Nlog 枚举到整数

asp.net - AspNetSession 布局渲染器不起作用

asp.net - 如何使用身份验证通过 NLog 或 SeriLog 登录到 Elastic Search

.net - 配置NLog以英文写入异常消息

c# - 自定义 NLog 过滤器类的单元测试

c# - 如何以编程方式配置 nLog 目标

asp.net-web-api - 使用 Unity 根据其使用者/上下文依赖项注入(inject)特定依赖项

c# - Nlog不写入Windows服务中的日志文件