CA1848: Usar los delegados LoggerMessage

Propiedad Value
Identificador de la regla CA1848
Título Utilizar los delegados LoggerMessage
Categoría Rendimiento
La corrección es problemática o no problemática Poco problemático
Habilitado de forma predeterminada en .NET 8 No

Causa

Uso de los métodos de extensión de registrador, como LogInformation y LogDebug.

Descripción de la regla

Para escenarios de registro de alto rendimiento, use el patrón LoggerMessage.

Cómo corregir infracciones

Use LoggerMessage para corregir infracciones de esta regla.

LoggerMessage proporciona las siguientes ventajas de rendimiento frente a los métodos de extensión del registrador:

  • Los métodos de extensión del registrador requieren la conversión boxing de tipos de valor, como int, en object. El patrón LoggerMessage impide la conversión boxing mediante métodos de extensión y campos Action estáticos con parámetros fuertemente tipados.
  • Los métodos de extensión del registrador deben analizar la plantilla de mensaje (cadena de formato con nombre) cada vez que se escribe un mensaje de registro. LoggerMessage solo necesita analizar una vez una plantilla cuando se define el mensaje.

Cuándo suprimir las advertencias

No suprima las advertencias de esta regla.

Consulte también