Partage via


CA1848 : utilisez les délégués LoggerMessage

Propriété Value
Identificateur de la règle CA1848
Titre Utiliser les délégués LoggerMessage
Catégorie Performances
Le correctif est cassant ou non cassant Sans rupture
Activé par défaut dans .NET 8 Non

Cause

Utilisation des méthodes d’extension d’enregistreur d’événements, telles que LogInformation et LogDebug.

Description de la règle

Pour les scénarios de journalisation hautes performances, utilisez le modèle LoggerMessage.

Comment corriger les violations

Utilisez LoggerMessage pour corriger les violations de cette règle.

LoggerMessage procure les avantages suivants en termes de performances par rapport aux méthodes d’extension de journaliseur :

  • Les méthodes d’extension de journaliseur nécessitent la conversion (« boxing ») de types de valeur, tels que int, en object. En utilisant des champs Action statiques et des méthodes d’extension avec des paramètres fortement typés, le modèle LoggerMessage évite le boxing.
  • Les méthodes d’extension de journaliseur doivent analyser le modèle de message (chaîne de format nommé) chaque fois qu’un message de journal est écrit. LoggerMessage requiert l’analyse d’un modèle une seule fois quand le message est défini.

Quand supprimer les avertissements

Ne supprimez aucun avertissement de cette règle.

Voir aussi