Skip to content

Commit

Permalink
Fix LoggerProviderDebugView.CalculateEnabledLogLevel when the level…
Browse files Browse the repository at this point in the history
… 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 <[email protected]>

---------

Co-authored-by: joegoldman2 <[email protected]>
Co-authored-by: Tarek Mahmoud Sayed <[email protected]>
Co-authored-by: James Newton-King <[email protected]>
  • Loading branch information
4 people committed Jun 11, 2024
1 parent 4afb315 commit 41d4c46
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion src/libraries/Microsoft.Extensions.Logging/src/Logger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -178,12 +178,31 @@ public List<LoggerProviderDebugView> Providers
{
LoggerInformation loggerInfo = logger.Loggers[i];
string providerName = ProviderAliasUtilities.GetAlias(loggerInfo.ProviderType) ?? loggerInfo.ProviderType.Name;
MessageLogger? messageLogger = logger.MessageLoggers?.FirstOrDefault(messageLogger => messageLogger.Logger == loggerInfo.Logger);
MessageLogger? messageLogger = FirstOrNull(logger.MessageLoggers, loggerInfo.Logger);

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

return providers;

// Find message logger or return null if there is no match. FirstOrDefault isn't used because MessageLogger is a struct.
static MessageLogger? FirstOrNull(MessageLogger[]? messageLoggers, ILogger logger)
{
if (messageLoggers is null || messageLoggers.Length == 0)
{
return null;
}

foreach (MessageLogger item in messageLoggers)
{
if (item.Logger == logger)
{
return item;
}
}

return null;
}
}
}

Expand Down

0 comments on commit 41d4c46

Please sign in to comment.