Nlog - 基于消息的条件布局

Nlog - conditional layout based on message

我想要nlog在message为空的时候输出换行,当message不为空的时候,我想要输出布局
我试过以下方法,但它不起作用:

<variable name="DefaultLayout" value="${time}  ${level:uppercase=true}: ${message}"/>
<variable name="Main" value="${when:when='${message}'=='':inner=${newline}:else=${DefaultLayout}}"/>
......
<target xsi:type="ColoredConsole" name="console" layout="${Main}" />

在此配置中,当消息为空时打印新行,但当消息不为空时,它不打印此消息,仅 16:06:34.7274 INFO
如何修复配置以达到预期效果?

您需要使用反斜杠 (\)

转义变量 DefaultLayout 中的冒号 (:)