CA1848: Použijte delegáty LoggerMessage
Vlastnost | Hodnota |
---|---|
ID pravidla | CA1848 |
Název | Použití delegátů LoggerMessage |
Kategorie | Výkon |
Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
Povoleno ve výchozím nastavení v .NET 9 | No |
Příčina
Použití metod rozšíření protokolovacího nástroje, například LogInformation a LogDebug.
Popis pravidla
Pro scénáře protokolování s vysokým výkonem LoggerMessage použijte vzor.
Jak opravit porušení
Slouží LoggerMessage
k opravě porušení tohoto pravidla.
LoggerMessage poskytuje následující výhody výkonu oproti metodám rozšíření loggeru:
- Metody rozšíření protokolovacího nástroje vyžadují "boxing" (převod) hodnotové typy, například
int
, doobject
. Vzor LoggerMessage se vyhne boxování pomocí statických Action polí a rozšiřujících metod se silnými parametry. - Metody rozšíření protokolovacího nástroje musí analyzovat šablonu zprávy (pojmenovaný formát řetězec) při každém zápisu zprávy protokolu. LoggerMessage Při definování zprávy vyžaduje pouze jednou parsování šablony.
Kdy potlačit upozornění
Nepotlačujte upozornění na toto pravidlo.
Viz také
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.