如何根据解决方案配置(发布或调试)将 NLog 输出到不同的目标?



我有一个Win Forms,C#,.net应用程序,正在使用NLog来记录错误。 如何让 NLog 根据我处于调试模式还是发布模式使用不同的目标?

例如,在调试模式下,我希望所有错误消息仅通过电子邮件发送给我;在发布模式下,我希望将所有错误消息发送给一组人。 我试图防止测试时发生的错误进入整个小组。

通过上下文菜单在解决方案资源管理器中卸载项目。编辑 .csproj 文件。将此字符串添加到文件中:

<PropertyGroup>
<AppConfig>App.$(Configuration).config</AppConfig>
</PropertyGroup>

然后,可以为"调试"和"发布-生成"设置不同的设置。当您运行调试构建时,它将使用App.Debug.config

然后使用${appsetting}布局渲染器查找要使用的电子邮件地址。另请参阅 https://github.com/NLog/NLog/wiki/AppSetting-Layout-Renderer(NLog 4.6.5 在 NLog.dll 中包含此开箱即用功能(

您可以将 MSBuild 配置转换应用于任何配置文件,这里有一篇文章来解释它,由于它的长度,我不打算发布文章中的细节。

https://johan.driessen.se/posts/Applying-MSBuild-Config-Transformations-to-any-config-file-without-using-any-Visual-Studio-extensions/

最新更新