CA1848: Verwenden der LoggerMessage-Delegaten

Eigenschaft Wert
Regel-ID CA1848
Titel Verwenden der LoggerMessage-Delegaten
Kategorie Leistung
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend
Standardmäßig in .NET 9 aktiviert No

Ursache

Verwendung von Protokollierungserweiterungsmethoden wie LogInformation und LogDebug.

Regelbeschreibung

Verwenden Sie das LoggerMessage-Muster für Hochleistungsprotokollierungen.

Behandeln von Verstößen

Verwenden Sie LoggerMessage, um Verstöße gegen diese Regel zu beheben.

LoggerMessage hat im Vergleich zu Protokollierungserweiterungsmethoden die folgenden Vorzüge:

  • Protokollierungserweiterungsmethoden erfordern das Konvertieren von Werttypen wie int in object (sogenanntes Boxing). Das LoggerMessage-Muster verhindert das Konvertieren mithilfe von statischen Action-Feldern und mithilfe von Erweiterungsmethoden mit stark typisierten Parametern.
  • Protokollierungserweiterungsmethoden müssen die Meldungsvorlagen (sogenannte Formatzeichenfolgen) jedes Mal analysieren, wenn eine Protokollmeldung geschrieben wird. LoggerMessage erfordert das Analysieren einer Vorlage nur einmal beim Festlegen der Meldung.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel.

Weitere Informationen