Partilhar via


CA1848: Usar os delegados LoggerMessage

Propriedade valor
ID da regra CA1848
Cargo Usar os delegados LoggerMessage
Categoria Desempenho
A correção está quebrando ou não quebrando Sem quebra
Habilitado por padrão no .NET 8 Não

Causa

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

Descrição da regra

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

Como corrigir violações

Use LoggerMessage para corrigir violações desta regra.

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

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

Quando suprimir avisos

Não suprima um aviso desta regra.

Consulte também