我很惊讶我没能找到这个问题的答案,但是我如何让 NLog 以一种漂亮的格式而不是默认的单行版本编写 JSON 格式的消息?
某处有简单的设置还是我需要编写自定义渲染器?
基本上代替
{ "date": "2018-11-18 14:21:45.0671", "level": "INFO", "message": "Some message" }
我愿意
{
"date": "2018-11-18 14:21:45.0671",
"level": "INFO",
"message": "Some message"
}
NLog v5.1.4 已发布 - https://www.nuget.org/packages/NLog/5.1.4,它使用设置 indentJson="true"
:
扩展了JsonLayout
<nlog>
<targets>
<target name="jsonConsole" xsi:type="Console">
<layout xsi:type="JsonLayout" includeEventProperties="true" indentJson="true">
<attribute name="time" layout="${longdate}" />
<attribute name="level" layout="${level:upperCase=true}" />
<attribute name="message" layout="${message}" />
</layout>
</target>
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="jsonConsole" />
</rules>
</nlog>