다음을 통해 공유


AddProvider가 Null이 아닌 공급자를 확인함

Microsoft.Extensions.Logging.LoggerFactoryAddProvider(ILoggerProvider) 메서드를 통해 ILoggerFactory를 구현합니다. null 공급자는 허용되지 않으며 이로 인해 ArgumentNullException이 throw됩니다.

도입된 버전

6.0 RC 1

이전 동작

이전에는 AddProvider(ILoggerProvider)provider 인수의 유효성 검사를 수행하지 않았습니다. 따라서 메서드는 null을 "유효한" 공급자로 간주하여 공급자 컬렉션에 추가했습니다.

새 동작

.NET 6부터 null 공급자는 허용되지 않으며 로깅 공급자 인수가 null이면 AddProvider(ILoggerProvider)ArgumentNullException을 throw합니다. 예를 들어 다음 코드는 ArgumentNullException을 throw합니다.

var factory = new LoggerFactory();
((ILoggerFactory)factory).AddProvider(null));

호환성이 손상되는 변경의 형식

이 변경은 소스 호환성에 영향을 줄 수 있습니다.

변경 이유

이전 동작으로 인해 클래스 내의 일부 작업이 불필요하게 NullReferenceException 예외를 throw했습니다. 예를 들어 LoggerFactory.Dispose() 메서드는 예외를 캡처하고 아무것도 수행하지 않습니다.

null 공급자를 AddProvider(ILoggerProvider)에 전달하지 않는지 확인합니다.

영향을 받는 API