Nlog:负载高时,重复db随机记录多次

问题描述 投票:0回答:1

我在向数据库中插入记录时多次遇到日志db的问题,而在同一文件中记录一次却是多次插入文件,而我正在检查跟踪文件,它显示了我无法看到的确切编号在我的数据库中,但是我不知道的原因,有人可以调查一下,并让我知道导致问题的原因。

我正在附加跟踪文件和nlog.config文件,请检查它并让我知道导致此问题的原因。

请在此处找到附件:

https://github.com/NLog/NLog/issues/3770

c# wcf nlog
1个回答
0
投票
详细阐述罗尔夫的评论。

您的配置的小部分:

<parameter name="@ResponseCode" layout="${var:ResponseCode}" />

${var}是全局变量,不是线程安全的。它并不意味着更改每个logevent。还有其他方法可以以线程安全的方式将上下文发送到数据库。请参阅here中描述的所有选项。

对于这种情况,事件属性可能是一个不错的选择。您可以这样使用它:

logger.WithProperty("ResponseCode", responseCode).Info("Got response!");

或结构化日志记录样式:

logger.Info("Got response with code {ResponseCode}!", responseCode);

并用${var:ResponseCode}替换您的配置${event-properties:ReponseCode}
© www.soinside.com 2019 - 2024. All rights reserved.