【问题标题】:NLog, ASP.NET Core 5.0, difference between ClearProviders and using OutputDebugStringNLog、ASP.NET Core 5.0、ClearProviders 和使用 OutputDebugString 的区别
【发布时间】:2021-08-25 07:59:20
【问题描述】:

我们正在尝试将输出输出到 Visual Studio 中的调试窗口和诊断工具中的事件窗口,但是我们正在努力处理 NLog 文档和各种帖子

我们遵循了https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-5 中的指南,其中包括这一行

logging.ClearProviders();

如果我们这样做,那么我们在调试窗口或 Visual Studio 诊断事件窗口中没有得到任何输出

此答案表明此步骤是可选的,并且确实删除它似乎确实有效: Show NLog output in debug window of asp.net core app

但是,对吗?还有几页建议您可以使用 OutputDebugString 目标

我的问题。在 .Net 5 中,使用 OutputDebugString 目标、Debugger 目标或忽略这些目标并取出 ClearProviders 行之间有什么区别?

【问题讨论】:

    标签: nlog


    【解决方案1】:

    NLog 与 AddDebugAddConsole 等其他日志记录提供者一起生活没有问题。

    调用CreateDefaultBuilder 时会添加以下提供者:

    • 控制台
    • 调试
    • 事件源
    • 事件日志 - 仅限 Windows

    这些会带来巨大的开销,当然会忽略为 NLog 配置的任何过滤和输出布局。这就是为什么大多数关于AddNLog 的指南建议明确调用ClearProviders 以避免以意外格式出现意外输出。

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 1970-01-01
      • 2016-10-07
      • 2021-05-04
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多