NLog 数据库参数 + .NET Core:JSON 中的所有事件属性?

NLog Database Parameter + .NET Core: all-event-properties in JSON?

我正在使用数据库目标并试图找出一种方法来发送 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"
}

请指教。谢谢!

你可以这样做:

<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