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
, emobject
. 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
Colabore connosco no GitHub
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.