Skip to content
Merged
Prev Previous commit
Next Next commit
Fix ordering of configuration delegate passed to logging extensions.
  • Loading branch information
CodeBlanch committed Nov 29, 2023
commit 8a467209dd30ba0317f9031ed4efa20de44554d3
Original file line number Diff line number Diff line change
Expand Up @@ -173,19 +173,19 @@ private static ILoggingBuilder AddOpenTelemetryInternal(

var services = builder.Services;

if (configureOptions != null)
{
// TODO: Move this below the RegisterLoggerProviderOptions call so
// that user-supplied delegate fires AFTER the options are bound to
// Logging:OpenTelemetry configuration.
services.Configure(configureOptions);
}

// Note: This will bind logger options element (eg "Logging:OpenTelemetry") to OpenTelemetryLoggerOptions
RegisterLoggerProviderOptions(services);

services.AddOpenTelemetrySharedProviderBuilderServices();

if (configureOptions != null)
{
// Note: Order is important here so that user-supplied delegate
// fires AFTER the options are bound to Logging:OpenTelemetry
// configuration.
services.Configure(configureOptions);
}

var loggingBuilder = new LoggerProviderBuilderBase(services).ConfigureBuilder(
(sp, logging) =>
{
Expand Down