Condividi tramite


CA1848: Usare i delegati LoggerMessage

Proprietà valore
ID regola CA1848
Title Usare i delegati LoggerMessage
Categoria Prestazioni
La correzione causa un'interruzione o meno Non causa un'interruzione
Abilitato per impostazione predefinita in .NET 9 No

Causa

Uso di metodi di estensione del logger, ad esempio LogInformation e LogDebug.

Descrizione regola

Per gli scenari di registrazione a prestazioni elevate, usare LoggerMessage.

Come correggere le violazioni

Usare LoggerMessage per correggere le violazioni di questa regola.

LoggerMessage offre i seguenti vantaggi in termini di prestazioni rispetto ai metodi di estensione del logger:

  • I metodi di estensione del logger richiedono una "conversione boxing" dei tipi di valori, ad esempio int, in object. LoggerMessage evita la conversione boxing usando campi Action statici e metodi di estensione con parametri fortemente tipizzati.
  • I metodi di estensione del logger devono analizzare il modello di messaggio (stringa di formato denominata) ogni volta che viene scritto un messaggio del log. Solo LoggerMessage richiede una sola analisi del modello durante la definizione del messaggio.

Quando eliminare gli avvisi

Non escludere un avviso da questa regola.

Vedi anche