2013-03-25 65 views
4

在我的n日志的配置,我给自己定NLOG异步和日志序列

<targets async="true"> 

与所有的日志记录,现在是异步进行的,以我的应用程序的工作流程的理解。 (并且我注意到性能改进,特别是在电子邮件目标上)。 这让我想起了日志序列。我了解,使用异步操作,不能保证操作系统执行异步工作的顺序。因此,如果在我的Web应用程序中,多个请求进入同一个方法,每个请求都记录到NLog,这是否意味着事件出现在我的日志目标中的顺序不一定是日志的顺序方法是由各种请求调用的?

如果是这样,这只是异步的结果,人们必须忍受?或者有什么我可以做的,让我的日志反映正确的序列?

回答

3

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

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

0

我知道这已经很老了,我只是在NLog上发展起来的,但是如果你看到电子邮件客户端的性能提升,你可能只想为电子邮件目标声明ASYNC?