Compartilhar via


AddProvider verifica se há um provedor não nulo

Microsoft.Extensions.Logging.LoggerFactory implementa ILoggerFactory com um método AddProvider(ILoggerProvider). Provedores null não são aceitos e será gerado um ArgumentNullException.

Versão introduzida

6.0 RC 1

Comportamento anterior

Anteriormente, AddProvider(ILoggerProvider) não realizava nenhuma validação do argumento provider. Dessa forma, o método considerava null um provedor "válido" e o adicionou à coleção de provedores.

Novo comportamento

A partir do .NET 6, provedores null não são aceitos e AddProvider(ILoggerProvider) gera um ArgumentNullException se o argumento do provedor de log for null. Por exemplo, o código a seguir gera uma ArgumentNullException:

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

Tipo de alteração interruptiva

Essa alteração pode afetar a compatibilidade da origem.

Motivo da alteração

O comportamento anterior fazia com que algumas operações na classe gerassem exceções NullReferenceException desnecessariamente. Por exemplo, o método LoggerFactory.Dispose() capturará a exceção e não fará nada.

Verifique se você não está passando um provedor null para AddProvider(ILoggerProvider).

APIs afetadas