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
, enobject
. 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
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner des problèmes et des demandes de tirage (pull requests). Pour plus d’informations, consultez notre guide du contributeur.