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 8 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, do object. 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é