为NLog中的一些目标添加前缀

本文关键字:目标 添加 加前缀 NLog | 更新日期: 2023-09-27 17:59:26

我的NLog.config中有7个不同的规则:

<logger name="*" minlevel="Info" writeTo="logfile" />
<logger name="Access" minlevel="Info" writeTo="AccessLog" />
<logger name="Authentication" minlevel="Info" writeTo="AuthenticationLog" />
<logger name="Foundation" minlevel="Info" writeTo="FoundationLog" />
<logger name="Server" minlevel="Info" writeTo="ServerLog" />
<logger name="WorkflowEngine" minlevel="Info" writeTo="WorkflowEngineLog" />
<logger name="Plugins" minlevel="Info" writeTo="PluginsLog" />

我希望写入日志文件的日志条目有一个包含loggername的前缀,但我不希望其他日志文件包含前缀,因为它们只包含来自一个特定记录器的日志条目。能做到吗?

为NLog中的一些目标添加前缀

您可以使用${logger}渲染器在logfile布局中输出当前记录器名称。

所以你需要这样的东西:

<targets>
    <target xsi:type="File" name="logfile" fileName="logfile.log" 
          layout="${longdate} ${logger} ${level} ${message}" />
</targets>
<rules>
    <logger name="*" minlevel="Info" writeTo="logfile" />
</rules>