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
inobject
(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
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.