Skip to content

Commit

Permalink
Fix issue #2261
Browse files Browse the repository at this point in the history
  • Loading branch information
lowell-trimble committed Mar 7, 2024
1 parent 2683708 commit 346d94f
Showing 1 changed file with 7 additions and 8 deletions.
Expand Up @@ -81,14 +81,13 @@ private void RecordLogMessage(MethodCall methodCall, MEL.ILogger logger, IAgent
var getLoggersArrayFunc = _getLoggersArray ??= VisibilityBypasser.Instance.GeneratePropertyAccessor<dynamic>(logger.GetType(), "ScopeLoggers");
var loggers = getLoggersArrayFunc(logger);

// Get the first ScopeLogger in the array (logger.ScopeLoggers[0])
// If there is more than one scope logger, they've all received the same data, so the first
// one should be fine
object firstLogger = loggers.GetValue(0);

// Get the scope provider from that logger (logger.ScopeLoggers[0].ExternalScopeProvider)
var scopeProviderPI = _scopeProviderPropertyInfo ??= firstLogger.GetType().GetProperty("ExternalScopeProvider");
var scopeProvider = scopeProviderPI.GetValue(firstLogger) as IExternalScopeProvider;
// Get the last ScopeLogger in the array (logger.ScopeLoggers[loggers.Length-1])
// If there is more than one scope logger, the last logger is the one with the ExternalScopeProvider set
object lastLogger = loggers.GetValue(loggers.Length-1);

// Get the scope provider from that logger (logger.ScopeLoggers[loggers.Length-1].ExternalScopeProvider)
var scopeProviderPI = _scopeProviderPropertyInfo ??= lastLogger.GetType().GetProperty("ExternalScopeProvider");
var scopeProvider = scopeProviderPI.GetValue(lastLogger) as IExternalScopeProvider;

// Get the context data
var harvestedKvps = new Dictionary<string, object>();
Expand Down

0 comments on commit 346d94f

Please sign in to comment.