控制台日志记录的选项和配置 - 它在源代码中如何工作?
Options and Configuration for console logging - how does it work in source code?
我正在尝试实现我自己的自定义记录器。我一直在看微软的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
选项的内部工作原理是什么?它在哪里 "bind" 它与 'Console',它从哪里从 ConsoleLoggerOptions 到 Console?
说到这里我就不明白了。只需将选项添加到服务即可 'works'?
所以我挖得更深一点:
ConsoleLoggerProvider 有一个提供者别名,将其重命名为 "Console":
https://github.com/dotnet/extensions/blob/master/src/Logging/Logging.Console/src/ConsoleLoggerProvider.cs#L14
imo 隐藏得很好
我正在尝试实现我自己的自定义记录器。我一直在看微软的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
选项的内部工作原理是什么?它在哪里 "bind" 它与 'Console',它从哪里从 ConsoleLoggerOptions 到 Console?
说到这里我就不明白了。只需将选项添加到服务即可 'works'?
所以我挖得更深一点:
ConsoleLoggerProvider 有一个提供者别名,将其重命名为 "Console": https://github.com/dotnet/extensions/blob/master/src/Logging/Logging.Console/src/ConsoleLoggerProvider.cs#L14
imo 隐藏得很好