从自定义 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的主要内容,如果未能解决你的问题,请参考以下文章