diff --git a/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/TraceSourceLoggerProvider.cs b/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/TraceSourceLoggerProvider.cs index c39c6b5f2f4f81..d5aa6ffefda55d 100644 --- a/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/TraceSourceLoggerProvider.cs +++ b/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/TraceSourceLoggerProvider.cs @@ -53,10 +53,9 @@ public ILogger CreateLogger(string name) return new TraceSourceLogger(GetOrAddTraceSource(name)); } - private DiagnosticsTraceSource GetOrAddTraceSource(string name) - { - return _sources.GetOrAdd(name, InitializeTraceSource); - } + private DiagnosticsTraceSource GetOrAddTraceSource(string name) => + _sources.TryGetValue(name, out DiagnosticsTraceSource? source) ? source : + _sources.GetOrAdd(name, InitializeTraceSource(name)); private DiagnosticsTraceSource InitializeTraceSource(string traceSourceName) {