我们正在使用外部包 (Microsoft.Azure.Kusto.Data),它会用大量日志堵塞控制台。我们正在使用控制台日志记录提供程序并存储写入控制台的所有内容。该包似乎没有使用记录器,它可能更直接地使用 Console.WriteLine 或类似的方式写入控制台,因此更改日志级别没有帮助。
有没有办法阻止特定的包输出到控制台?
这是登录 VS Code 的截图,上面的两个日志(以 P.* 开头)来自 kusto 包,另外两个(带有 info 标签)是我们自己的日志。
将其添加到 appsettings.json 中的日志级别没有任何作用:
"Microsoft.Azure.Kusto.Data": "Warning"
虽然它适用于其他软件包。
最佳答案
这似乎(部分)是由 Azure Data Explorer Tracing 引起的添加此代码片段消除了大部分日志:
using Kusto.Cloud.Platform.Utils;
...
TraceSourceManager.SetTraceVerbosityForAll(TraceVerbosity.Error);
尽管在连接时我仍然从“Tweaks”获取日志:
这种情况只会发生一次,所以我现在可以忍受。
关于c# - 防止来自外部包 .NET 的控制台日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75054628/