【发布时间】:2020-12-15 08:29:22
【问题描述】:
我想在 nlog 中定义 2 个目标(通常是 Devops 上的文件目标和本地 UDP),并根据位置动态选择它们。这样做的动机是在本地运行和在 Devops 上运行时使用不同的目标。
关于如何使用 C# 代码执行此操作的文章有很多,但我想知道是否可以直接在配置文件中执行此操作。
在伪代码中,我正在规则部分中寻找类似的内容:
<rules>
if(Env==DEVOPS)
<logger name="*" minlevel="Info" writeTo="file" />
else
<logger name="*" minlevel="Trace" writeTo="udp" />
end
</rules>
【问题讨论】:
-
您可以将
filters添加到记录器并在里面设置条件,这将检查环境变量。见:stackoverflow.com/a/47517826/2109769 -
是的!看来我可以按照你的建议达到我需要的结果!