AddProvider überprüft auf Nicht-NULL-Anbieter
Microsoft.Extensions.Logging.LoggerFactory implementiert ILoggerFactory mit einer AddProvider(ILoggerProvider)
-Methode. null
-Anbieter werden nicht akzeptiert und führen zum Auslösen einer ArgumentNullException.
Eingeführt in Version
6.0 RC 1
Vorheriges Verhalten
Bisher hat AddProvider(ILoggerProvider) keine Validierung des Arguments provider
durchgeführt. Daher hat die Methode null
als „gültigen“ Anbieter betrachtet und der Auflistung von Anbietern hinzugefügt.
Neues Verhalten
Ab .NET 6 werden null
-Anbieter nicht akzeptiert und AddProvider(ILoggerProvider) löst eine ArgumentNullException aus, wenn das Argument für den Protokollierungsanbieter null
ist. Der folgende Code löst z. B. eine ArgumentNullException aus:
var factory = new LoggerFactory();
((ILoggerFactory)factory).AddProvider(null));
Typ des Breaking Changes
Diese Änderung kann sich auf die Quellkompatibilität auswirken.
Grund für die Änderung
Das vorherige Verhalten führte dazu, dass einige Vorgänge innerhalb der Klasse unnötigerweise Ausnahmen vom Typ NullReferenceException auslösten. Die Methode LoggerFactory.Dispose() beispielsweise erfasst die Ausnahme und unternimmt nichts.
Empfohlene Aktion
Stellen Sie sicher, dass Sie keinen null
-Anbieter an AddProvider(ILoggerProvider) übergeben.