Udostępnij za pośrednictwem


CA1848: Użyj delegatów loggerMessage

Właściwości Wartość
Identyfikator reguły CA1848
Stanowisko Używanie delegatów loggerMessage
Kategoria Wydajność
Poprawka powodująca niezgodność lub niezgodność Niezgodność
Domyślnie włączone na platformie .NET 8 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, na object. 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ż