当通过调用 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 对象,调试记录器和控制台记录器都访问该对象以确定实际的日志级别。
我是否可以从我的 MyCustomLoggerFactory 创建的 ILogger 访问该信息对象,或者我是否必须将配置部分的另一个副本传递给 MyCustomLoggerFactory 并手动解析该部分?
最佳答案
依赖注入(inject) IOptions<LoggerFilterOptions>
. http://jackhiston.com/2017/7/30/using-iconfigureoptionst/ 提供了一个示例.
关于c# - 从自定义 ILogger 访问 LoggerFilterOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49777311/