Man*_*gor 3 .net c# logging multithreading nlog
我有如下 NLog 配置。
如果存在,它会打印线程的名称。否则我会得到空字符串而不是线程名称。
问题:我如何归档下面的行为?
threadidNLog 变量相同)。当前配置示例:
<variable name="defaultLayout" value="${date} ${level} [${threadname}] ${logger} - ${message} ${exception:format=ToString}"/>
<targets async="true">
<target name="ConsoleAppender"
type="ColoredConsole"
layout="${var:defaultLayout}" />
</targets>
Run Code Online (Sandbox Code Playgroud)
请注意:我想避免打印这两个变量,例如这种没有用的布局: ... [${threadname}-${threadid}] ...
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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1387 次 |
| 最近记录: |