【发布时间】:2021-02-10 10:22:31
【问题描述】:
这可能有一些简单的答案,但是在互联网上搜索了几个小时后,我还没有找到答案
我们有自己的日志系统实现 我们想在我们自己的记录器中捕获记录在 WebHost 中的信息 但是如何将 WebHost 中生成的日志定向到我们的记录器?
我们的虚拟主机非常标准,如果这有什么不同的话 我们正在构建 .net 5
_host = new WebHostBuilder()
.AddHttpListener(_startUpConfig)
.UseHttpSys(options =>
{
options.Authentication.Schemes = AuthenticationSchemes.NTLM | AuthenticationSchemes.Negotiate;
options.Authentication.AllowAnonymous = true;
options.MaxConnections = -1;
options.MaxAccepts = Environment.ProcessorCount * 2;
})
.UseUrls($"{_url}://+:{PortNo}/")
.UseUnityServiceProvider(IocContainer)
.ConfigureServices(services => { services.AddSingleton(_startUpConfig); })
.UseStartup<StartUp>()
.Build();
【问题讨论】:
-
你的日志系统支持过滤器吗?
-
没有。只是日志级别。我意识到我可能必须将我们的记录器包装在另一个对象中。只是不确定如何
-
为什么不使用现有的过滤器可用的日志框架?在您的记录器中,您需要类似的功能来根据一些值(例如记录器名称或日志源)将条目记录到配置的通道。目前尚不清楚您的日志记录解决方案是如何实施和使用的。我相信您的问题的解决方案不会那么简单。
-
最好登录到我们自己的日志系统,该系统集成到我们的 DevOps 等中。但是没关系。这可能是第二个选择。如何在我们的服务在 VM 上运行的生产环境中获取它们?具体来说,我需要了解为什么某些 Kerberos 令牌会被 WebHost 拒绝