Skip to content

Commit 41d4c46

Browse files
joegoldman2tarekghJamesNK
authored
Fix LoggerProviderDebugView.CalculateEnabledLogLevel when the level is None (#103209)
* Fix LoggerProviderDebugView.CalculateEnabledLogLevel when the level is None * Apply suggestion from review * Update src/libraries/Microsoft.Extensions.Logging/src/Logger.cs Co-authored-by: James Newton-King <james@newtonking.com> --------- Co-authored-by: joegoldman2 <147369450+joegoldman@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com> Co-authored-by: James Newton-King <james@newtonking.com>
1 parent 4afb315 commit 41d4c46

File tree

1 file changed

+20
-1
lines changed
  • src/libraries/Microsoft.Extensions.Logging/src

1 file changed

+20
-1
lines changed

src/libraries/Microsoft.Extensions.Logging/src/Logger.cs

+20-1
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,31 @@ public List<LoggerProviderDebugView> Providers
178178
{
179179
LoggerInformation loggerInfo = logger.Loggers[i];
180180
string providerName = ProviderAliasUtilities.GetAlias(loggerInfo.ProviderType) ?? loggerInfo.ProviderType.Name;
181-
MessageLogger? messageLogger = logger.MessageLoggers?.FirstOrDefault(messageLogger => messageLogger.Logger == loggerInfo.Logger);
181+
MessageLogger? messageLogger = FirstOrNull(logger.MessageLoggers, loggerInfo.Logger);
182182

183183
providers.Add(new LoggerProviderDebugView(providerName, messageLogger));
184184
}
185185

186186
return providers;
187+
188+
// Find message logger or return null if there is no match. FirstOrDefault isn't used because MessageLogger is a struct.
189+
static MessageLogger? FirstOrNull(MessageLogger[]? messageLoggers, ILogger logger)
190+
{
191+
if (messageLoggers is null || messageLoggers.Length == 0)
192+
{
193+
return null;
194+
}
195+
196+
foreach (MessageLogger item in messageLoggers)
197+
{
198+
if (item.Logger == logger)
199+
{
200+
return item;
201+
}
202+
}
203+
204+
return null;
205+
}
187206
}
188207
}
189208

0 commit comments

Comments
 (0)