我正在尝试实现我自己的自定义记录器。我一直在研究微软的 Console Logger 的实现。
您可以在 AppSettings 中配置ConsoleLoggerOptions,如下所示:
{
"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
期权的内部如何运作?它在哪里“绑定”它与“控制台”,它从 ConsoleLoggerOptions 到控制台在哪里?
我只是不明白这一点之后。只是将选项添加到服务只是“有效”?
所以我挖得更深一点:
ConsoleLoggerProvider 有一个提供程序别名,将其重命名为“控制台”: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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句