我具有如下所示的NLog配置。
打印线程名称(如果存在)。否则,我得到的是空字符串而不是线程名。
问题:如何在下面将行为存档?
threadid
NLog变量相同)。当前配置示例:
<variable name="defaultLayout" value="${date} ${level} [${threadname}] ${logger} - ${message} ${exception:format=ToString}"/>
<targets async="true">
<target name="ConsoleAppender"
type="ColoredConsole"
layout="${var:defaultLayout}" />
</targets>
请注意:我想避免同时打印两个变量,例如这种布局没有用:... [${threadname}-${threadid}] ...
答案 0 :(得分:4)
TLDR:使用它-${threadname:whenEmpty=${threadid}}
正确的配置:
<variable name="defaultLayout" value="${date} ${level} [${threadname:whenEmpty=${threadid}}] ${logger} - ${message} ${exception:format=ToString}"/>
<targets async="true">
<target name="ConsoleAppender"
type="ColoredConsole"
layout="${var:defaultLayout}" />
</targets>