Параметр базы данных NLog .NET Core: все свойства событий в JSON?

#json #asp.net-core #nlog #structured-logging

#json #asp.net-core #nlog #структурированное ведение журнала

Вопрос:

Я использую целевую базу данных и пытаюсь найти способ отправки all-event-properties в качестве параметра в формате JSON; я вижу, что этот параметр включает свойство для «формат», но когда я это делаю, format="json" это не дает желаемого эффекта.

Вот что у меня есть в моем файле nlog.config:

 <target name="database">
    <parameter name="@properties" layout="${all-event-properties}" format="json" />
</target>
  

К сожалению, мои свойства все еще регистрируются в формате

 property1=property1, property2=property2, property3=property3
  

То, что я ожидаю увидеть, это

 {
    "property1": "property1",
    "property2": "property2",
    "property3": "property3"
}
  

Пожалуйста, сообщите. Спасибо!

Комментарии:

1. Смотрите также: github.com/NLog/NLog/issues/4116

Ответ №1:

Вы можете сделать это:

 <target name="database" type="database">
    <parameter name="@properties">
        <layout type="JsonLayout" includeAllProperties="true" maxRecursionLimit="1" escapeForwardSlash="false" />
    </parameter>
</target>
  

Смотрите также: https://github.com/nlog/nlog/wiki/JsonLayout