从自定义 ILogger 访问 LoggerFilterOptions

Posted

技术标签:

【中文标题】从自定义 ILogger 访问 LoggerFilterOptions【英文标题】:Access LoggerFilterOptions from custom ILogger 【发布时间】:2018-09-21 11:18:14 【问题描述】:

当通过调用 AddLogging 将日志记录添加到 MVC Core 中的 DI 服务集合时,通常会从 appsettings/configuration 加载“Logging”部分并将其传递给 ILogOptionsBuilder.AddConfiguration,如下所示:

serviceCollection.AddLogging(config => 
    config.AddConfiguration(configuration.GetSection("Logging"));
    config.AddConsole();
    config.AddDebug();
    config.AddProvider(new MyCustomLoggerFactory());
);

传递给 AddConfiguration 的信息配置了一个 LoggerFilterOptions 对象,Debug logger 和 Console logger 都可以访问该对象以确定实际的日志级别。

我是否可以从通过 MyCustomLoggerFactory 创建的 ILogger 访问该信息对象,还是必须将配置部分的另一个副本传递给 MyCustomLoggerFactory 并手动解析该部分?

【问题讨论】:

【参考方案1】:

依赖注入IOptions<LoggerFilterOptions>。 http://jackhiston.com/2017/7/30/using-iconfigureoptionst/ 提供了一个示例。

【讨论】:

这是边界线link-only answer。您应该在此处扩展您的答案以包含尽可能多的信息,并使用该链接仅供参考。

以上是关于从自定义 ILogger 访问 LoggerFilterOptions的主要内容,如果未能解决你的问题,请参考以下文章

从自定义属性访问 [FromBody]

在 Django 中,是不是可以从自定义标签中访问当前用户会话?

从自定义单元格访问父视图

从自定义标头中检索访问令牌

如何从自定义反应挂钩访问数据

xamarin.forms 从自定义渲染器访问 viewmodel 属性