NLog - 缩进/漂亮格式的 JSON

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

我很惊讶我没能找到这个问题的答案,但是我如何让 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"
}
c# asp.net-core nlog
1个回答
0
投票

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>
© www.soinside.com 2019 - 2024. All rights reserved.