Nlog: многократное повторение записей в БД при высокой нагрузке - PullRequest
0 голосов
/ 23 января 2020

У меня возникла проблема с журналом базы данных, когда я вставляю записи в базу данных, в которую она вставляется несколько раз, а в файл - одна и та же запись за один раз, в то время как я проверяю файл трассировки, показывающий точное нет, что я могу см. в моей базе данных, но причина, по которой я не знаю, может кто-нибудь, пожалуйста, посмотрите на это и сообщите мне, что вызвало проблему.

Я прилагаю файл трассировки и файл nlog.config, просмотрите его и дайте мне знать что вызвало проблему.

Пожалуйста, найдите вложение здесь:

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

1 Ответ

0 голосов
/ 09 февраля 2020

Разработать комментарий Рольфа.

Небольшая часть вашей конфигурации:

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

${var} является глобальной и не является поточно-ориентированной. Это не значит, что нужно менять каждый лог. Существуют и другие способы отправки контекста в вашу базу данных безопасным способом. См. Все описанные опции здесь .

Для этого случая вероятны свойства события, которые являются хорошим выбором. Вы можете использовать это так:

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

Или структурированный стиль ведения журнала:

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

И заменить в своей конфигурации ${var:ResponseCode} на ${event-properties:ReponseCode}

...