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