Compartilhar via


CA1848: Usar os delegados LoggerMessage

Property Valor
ID da regra CA1848
Título Use os delegados LoggerMessage
Categoria Desempenho
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 8 Não

Causa

Uso de métodos de extensão do agente, como LogInformation e LogDebug.

Descrição da regra

Para cenários de registro em log de alto desempenho, use o padrão LoggerMessage.

Como corrigir violações

Use LoggerMessage para corrigir as violações dessa regra.

LoggerMessage fornece as seguintes vantagens de desempenho em relação aos métodos de extensão do Agente:

  • Métodos de extensão do agente exigem tipos de valor de conversão boxing, como int, em object. O padrão LoggerMessage evita a conversão boxing usando campos Action estáticos e métodos de extensão com parâmetros fortemente tipados.
  • Os métodos de extensão do agente precisam analisar o modelo de mensagem (cadeia de caracteres de formato nomeada) sempre que uma mensagem de log é gravada. LoggerMessage exige apenas a análise de um modelo uma vez quando a mensagem é definida.

Quando suprimir avisos

Não suprima um aviso nessa regra.

Confira também