プロバイダーが null でないことが AddProvider によってチェックされる
Microsoft.Extensions.Logging.LoggerFactory は、AddProvider(ILoggerProvider)
メソッドを持つ ILoggerFactory を実装します。 null
プロバイダーは受け入れられず、ArgumentNullException がスローされます。
導入されたバージョン
6.0 RC 1
以前の動作
以前は、AddProvider(ILoggerProvider) によって provider
引数の検証が実行されることはありませんでした。 そのため、このメソッドでは null
を "有効な" プロバイダーと見なして、プロバイダーのコレクションに追加していました。
新しい動作
.NET 6 以降、null
プロバイダーは受け入れられず、ログ記録プロバイダーの引数が null
の場合、AddProvider(ILoggerProvider) によって ArgumentNullException がスローされます。 たとえば、次のコードでは ArgumentNullException がスローされます。
var factory = new LoggerFactory();
((ILoggerFactory)factory).AddProvider(null));
破壊的変更の種類
この変更はソースの互換性に影響を与える可能性があります。
変更理由
以前の動作では、クラス内の一部の操作で NullReferenceException 例外が不必要にスローされていました。 たとえば、LoggerFactory.Dispose() メソッドは例外をキャプチャし、何もしません。
推奨される操作
null
プロバイダーを AddProvider(ILoggerProvider) に渡していないことを確認してください。
影響を受ける API
.NET