Désolé pour le document manquant, nous travaillons dessus.
L'audit personnalisé décrit dans l'article fonctionne toujours, mais dans PostSharp 5.0, nous avons apporté un aspect d'audit prêt à l'emploi dans le cadre de la bibliothèque de modèles de diagnostic améliorée - voir https://www.postsharp.net/diagnostics.
Le modèle d'audit ready-made fonctionne comme suit:
1) Installez PostSharp.Patterns.Diagnostics package NuGet à votre projet.
2) Ajoutez l'attribut personnalisé AuditAttribute
à toutes les méthodes que vous souhaitez auditer.
3) S'enregistrer à l'événement AuditServices.RecordPublished
, qui serait déclenché chaque fois qu'une méthode auditée est invoquée.
Un exemple montrant cela, entre autres, est disponible au http://samples.postsharp.net/#PostSharp.Samples.Logging/Program.cs.
Autres ressources:
Merci. Dans la version antérieure à 5.x, MethodExecutionArgs.Arguments() renvoyait uniquement les arguments de la méthode. Dans 5.x, AuditRecordEventArgs.Record.Text() donne le functionname avec des arguments. Comment puis-je récupérer uniquement les arguments de la méthode. –
La récupération de la liste d'arguments via la classe 'AuditRecord' n'est pas implémentée pour le moment. Vous pouvez le soumettre en tant que demande de fonctionnalité à l'adresse https://postsharp.uservoice.com/. –
AuditServices.RecordPublished un gestionnaire d'événements global? J'ai ajouté ce gestionnaire dans main(). Lorsque [Audit] est ajouté à une méthode dans l'un des assemblages dépendants, le gestionnaire a été appelé. Pouvez-vous confirmer que je ne dois pas enregistrer cet événement dans tous les assemblages dépendants? –