控制台日志记录的选项和配置 - 它在源代码中如何工作?



我正在尝试实现自己的自定义记录器。我一直在研究微软控制台记录器的实现。

您可以在"应用设置"中配置控制台记录器选项,如下所示:

{
"Logging": {
"IncludeScopes": true,
"LogLevel": {
"Default": "Information",
"System": "Warning",
"Microsoft": "Warning",
},
"Console": {
"DisableColors": true
}
}

查看 AddConsole(( 扩展:https://github.com/dotnet/extensions/blob/master/src/Logging/Logging.Console/src/ConsoleLoggerFactoryExtensions.cs#L18

期权的内部工作原理如何?它在哪里与"控制台"绑定",它从控制台记录器选项到控制台的哪里?

我只是在这一点之后不明白。只是将选项添加到服务只是"有效"?

所以我挖得更深一点:

ConsoleLoggerProvider 有一个提供程序别名,将其重命名为"Console": https://github.com/dotnet/extensions/blob/master/src/Logging/Logging.Console/src/ConsoleLoggerProvider.cs#L14

并且根据别名添加配置: https://github.com/dotnet/extensions/blob/55518d79834d3319c91f40b449d028338b129ed6/src/Logging/Logging.Configuration/src/LoggerProviderConfigurationFactory.cs#L27

隐藏得很好 IMO

相关内容

  • 没有找到相关文章

最新更新