NLog 为每个暂存环境添加单独的规则

NLog adding separate rules for each staging environment

我想配置 NLog 规则,以便我的每个暂存环境都有单独的规则。例如我的本地环境可能有这样的东西: `

<rules>
    <logger name="*" minlevel="Trace" writeTo="f" />
    <logger name="*" minlevel="Info" writeTo="database" />
    <logger name="*" minlevel="Warn" writeTo="eventlog" />
  </rules>

where as my QA environment will have something like this:

<rules>
    <logger name="*" minlevel="Error" writeTo="database" />
    <logger name="*" minlevel="Warn" writeTo="eventlog" />
  </rules>

`如何通过配置文件实现这一目标?

您需要为每个阶段创建一个配置转换文件。首先,您在 Visual Studio 中创建一个配置。默认配置为 "Debug" 和 "Release"。您可以通过单击 VS 工具栏中的下拉菜单并选择“”:

来自由添加更多类似 "QA" 的内容

然后将名为 "NLog.QA.config" 的转换文件添加到项目中。您应该查看 Slow Cheetah 以获得更多的安慰。

转换文件有一个特殊的语法记录 here。查看 link.

下的样本

当您使用选定的 "QA" 配置构建时,您将获得不同的 NLog.config。如果您正确安装了 SlowCheetah,您可以在解决方案资源管理器中右键单击转换文件,您会得到 "Preview Transform".