gpt4 book ai didi

c# - 将当前用户添加到 NLog 输出

转载 作者:可可西里 更新时间:2023-11-01 08:23:22 26 4
gpt4 key购买 nike

我想在 NLog 输出的每一行中添加一个字符串。逻辑保持不变,尝试获取当前用户,如果成功,则将当前用户添加到输出中。

我每次都知道怎么实现,但是我想把这个模板设置在一个地方,而不是每次写都重复。

最佳答案

WindowsIdentityLayoutRenderer 应该可以满足您的需求。您可以选择记录域、用户名或两者。

您可以像这样(未经测试)将其配置到您的 NLog.config 文件中:

<targets>
<target name="file" xsi:type="File"
layout="${longdate} | ${level} | ${logger} | ${windows-identity} | ${message}"
fileName="${basedir}/${shortdate}.log" />
</targets>

这在低权限环境中可能不起作用。

现在如何获取用户名?如果你得到这样的东西:

HttpContext.Current.User.Identity.Name

然后你可以使用 NLog 的“aspnet-user-identity”LayoutRenderer,像这样:

<targets>
<target name="file" xsi:type="File"
layout="${longdate} | ${level} | ${logger} | ${aspnet-user-identity} | ${message}"
fileName="${basedir}/${shortdate}.log" />
</targets>

NLog 的 aspnet* LayoutRenderer 位于 NLog.Extended.sll 中,因此除了 NLog.dll 之外,您还需要该 dll。

关于c# - 将当前用户添加到 NLog 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20077958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com