c# - 从自定义 ILogger 访问 LoggerFilterOptions

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

当通过调用 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/

相关文章:

python - 在 python 中使用 json 配置文件修复太多日志

ruby - shift_age 'w' 的 Ruby 记录器有什么作用?

c# - Telegram answerInlineQuery 无法解析数字

c# - 如何实现停止/取消按钮?

c# - Quartz.net 和 Common.Logging - 使用 Log4Net

C# 序列化从 sqlite 返回的 DataTable 结果正在返回 XML 格式

c# - 返回自身的 Func<T> 的正确 'T' 是多少?

c# - 处理 .NET 核心构建的错误 CA1416 的正确方法是什么?

c# - 并行发送批量电子邮件的最佳方式

c# - Application Insights 的日志未写入跟踪日志