Nous utilisons log4net pour enregistrer notre application de formulaires Web asp.net. Notre exploitation forestière est généralement dans notre couche d'affaires et la mise en œuvre typique est comme cejournalisation - modification de la mise en œuvre?
SomeMethodCall(MethodParams)
{
Log.Start("Starting Some Method");
try
{
//do something
}
catch(Exception ex)
{
Log.Exception("exception in SomeMethodCall" + ex.message);
}
Log.End("End SomeMethod");
}
Dans mon opinon, il est un peu maladroit. Y at-il une façon plus simple de le faire sans utiliser AOP? Je ne suis pas sûr si je devrais avoir la surcharge d'ajouter un cadre, juste pour la journalisation, pensé que je comprends qu'il me donnerait beaucoup d'autres options (que je fais pas besoin)
Je pense utiliser certains frameworks AOP pour le faire d'une manière plus propre, simplement en marquant les méthodes avec des attributs pour enregistrer et gérer les exceptions.
Il y a deux choses que je suis préoccupé par l'AOP (après ma première lecture).
Certains frameworks injectent du code dans votre IL (selon ce que je comprends) et je suis inquiet si cela pourrait me tromper. Je pourrais regarder la ligne x, donnée par mon cadre AOP, où elle pourrait être la ligne y dans ma demande. Ma peur est-elle infondée? Performances: Quel pourcentage de la charge de travail serait ajouté si vous utilisiez un framework AOP.
Editer: Je regardais aussi dans PolicyInjectionApplicationBlock. Malheureusement, je n'ai pas le luxe de changement implementaions dans ma logique métier
non, pas tout. Appels de méthode juste importants – ram