NLog,ASP.NET Core 5.0,ClearProviders 和使用 OutputDebugString 的区别
NLog, ASP.NET Core 5.0, difference between ClearProviders and using OutputDebugString
我们正在尝试将输出输出到 Visual Studio 中的调试 window 和诊断工具中的事件 window,但是我们正在努力处理 NLog 文档和各种帖子
我们遵循了 https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-5 中的指南,其中包括这一行
logging.ClearProviders();
如果我们这样做,那么我们不会在调试 window 或 Visual Studio 诊断事件 window
中得到任何输出
此答案表明此步骤是可选的,删除它确实有效:
然而,是这样吗?还有几页建议您可以使用 OutputDebugString target
-
-
我的问题。在 .Net 5 中,使用 OutputDebugString 目标、Debugger 目标,或者只是忽略这些目标并取出 ClearProviders 行之间有什么区别?
NLog 与 AddDebug
或 AddConsole
.
等其他日志提供者一起生活没有问题
当调用 CreateDefaultBuilder 时,它将添加以下供应商:
- 控制台
- 调试
- 事件源
- 事件日志 - Windows 仅
这些会带来巨大的开销,当然会忽略为 NLog 配置的任何过滤和输出布局。这就是为什么大多数关于 AddNLog
的指南都建议显式调用 ClearProviders
以避免以意外格式意外输出的戏剧性。
我们正在尝试将输出输出到 Visual Studio 中的调试 window 和诊断工具中的事件 window,但是我们正在努力处理 NLog 文档和各种帖子
我们遵循了 https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-5 中的指南,其中包括这一行
logging.ClearProviders();
如果我们这样做,那么我们不会在调试 window 或 Visual Studio 诊断事件 window
中得到任何输出此答案表明此步骤是可选的,删除它确实有效:
然而,是这样吗?还有几页建议您可以使用 OutputDebugString target
我的问题。在 .Net 5 中,使用 OutputDebugString 目标、Debugger 目标,或者只是忽略这些目标并取出 ClearProviders 行之间有什么区别?
NLog 与 AddDebug
或 AddConsole
.
当调用 CreateDefaultBuilder 时,它将添加以下供应商:
- 控制台
- 调试
- 事件源
- 事件日志 - Windows 仅
这些会带来巨大的开销,当然会忽略为 NLog 配置的任何过滤和输出布局。这就是为什么大多数关于 AddNLog
的指南都建议显式调用 ClearProviders
以避免以意外格式意外输出的戏剧性。