从自定义ILogger访问LoggerFilterOptions

时间:2018-04-11 14:09:35

标签: c# logging .net-core asp.net-core-mvc

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

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

传递给AddConfiguration的信息配置一个LoggerFilterOptions对象,调试记录器和控制台记录器访问该对象以确定实际的loglevel。

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

1 个答案:

答案 0 :(得分:0)

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