【问题标题】:How do I get NLog to output to different targets depending on the solution configuration (release or debug)?如何根据解决方案配置(发布或调试)让 NLog 输出到不同的目标?
【发布时间】:2020-01-03 02:53:36
【问题描述】:

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

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

【问题讨论】:

    标签: c# winforms logging error-handling nlog


    【解决方案1】:

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

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

    然后您可以对 Debug 和 Release-build 进行不同的设置。当您运行 Debug-build 时,它将使用 App.Debug.config

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

    【讨论】:

      【解决方案2】:

      您可以将 MSBuild 配置转换应用于任何配置文件,这是一篇解释它的文章,由于篇幅太长,我不会发布文章中的详细信息。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多