AddProvider vyhledá zprostředkovatele, který není null.
Microsoft.Extensions.Logging.LoggerFactory implementuje ILoggerFactory metodu AddProvider(ILoggerProvider)
. null
poskytovatelé nejsou přijati a způsobí ArgumentNullException vyvolání.
Zavedená verze
6.0 RC 1
Předchozí chování
AddProvider(ILoggerProvider) Dříve se neprovádí žádné ověření argumentuprovider
. Metoda považována null
za "platného" zprostředkovatele a přidala ji do kolekce poskytovatelů.
Nové chování
Počínaje rozhraním .NET 6 null
nejsou poskytovatelé přijati a AddProvider(ILoggerProvider) vyvolá ArgumentNullException výjimku, pokud je null
argumentem zprostředkovatele protokolování . Například následující kód vyvolá ArgumentNullExceptionnásledující kód:
var factory = new LoggerFactory();
((ILoggerFactory)factory).AddProvider(null));
Typ zásadní změny
Tato změna může mít vliv na kompatibilitu zdroje.
Důvod změny
Předchozí chování způsobilo, že některé operace uvnitř třídy zbytečně vyvolaly NullReferenceException výjimky. Metoda například LoggerFactory.Dispose() zachytí výjimku a nic neudělá.
Doporučená akce
Ujistěte se, že nepředáváte null
poskytovatele AddProvider(ILoggerProvider).
Ovlivněná rozhraní API
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro