CA1848: Użyj delegatów loggerMessage
Właściwości | Wartość |
---|---|
Identyfikator reguły | CA1848 |
Tytuł | Używanie delegatów loggerMessage |
Kategoria | Wydajność |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone na platformie .NET 9 | Nie. |
Przyczyna
Używanie metod rozszerzenia rejestratora, takich jak LogInformation i LogDebug.
Opis reguły
W przypadku scenariuszy rejestrowania o wysokiej wydajności użyj LoggerMessage wzorca.
Jak naprawić naruszenia
Służy LoggerMessage
do naprawiania naruszeń tej reguły.
LoggerMessage zapewnia następujące korzyści z wydajności w porównaniu z metodami rozszerzeń rejestratora:
- Metody rozszerzenia rejestratora wymagają typów wartości typu "boxing" (konwertowanie), takich jak
int
, naobject
. Wzorzec LoggerMessage unika tworzenia pól statycznych Action i metod rozszerzeń z silnie typinymi parametrami. - Metody rozszerzenia rejestratora muszą analizować szablon komunikatu (nazwany ciąg formatu) za każdym razem, gdy jest zapisywany komunikat dziennika. LoggerMessage Wymaga analizowania szablonu tylko raz po zdefiniowaniu komunikatu.
Kiedy pomijać ostrzeżenia
Nie pomijaj ostrzeżeń dla tej reguły.
Zobacz też
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.