Je viens de commencer à travailler sur une application Web ASP.NET 2.0. Comme c'est souvent le cas, l'architecture, et plus particulièrement l'architecture de journalisation des exceptions, est incohérente et, à certains endroits, manquante ou incorrecte (avaler les exceptions, les relancer, les utiliser pour la logique de contrôle, etc.)
Comme point de départ pour contrôler tout cela, j'aimerais simplement attraper TOUTES les exceptions lancées dans l'application, et les enregistrer quelque part, dans une table de la base de données par exemple. Malheureusement, coder explicitement cela dans l'application demanderait plusieurs jours et probablement des semaines de travail, ce qui exclut le codage manuel (par exemple, mettre logger.log(ex) partout) et des choses comme log4net et nlog. Ce que je cherche, c'est une autre solution, plus légère, au problème.
Après quelques lectures rapides sur ce site, j'ai découvert des techniques comme.. :
- Programmation orientée aspect, comme
- Basé sur les attributs
- Bibliothèque de Post Sharp
- Microsoft Unity
- L'unité du château
- Gestionnaires Web
- ELMAH
- D'autres ?
Quelles ont été les expériences des gens avec ces solutions ? Gardez à l'esprit que j'aimerais mettre en œuvre cette solution de la manière la plus simple et la moins pénible possible, et qu'il n'est donc pas nécessaire d'avoir recours à des gadgets à ce stade. Tout ce dont j'ai besoin, c'est d'une solution qui signale chaque exception à un seul endroit afin que je puisse commencer à trouver les trous dans la logique.
EDIT:
Je devrais probablement préciser que je veux consigner les exceptions de ****ALL**** (même celles qui sont traitées, car certaines sont traitées de manière incorrecte). Est-il possible de configurer Elmah pour faire cela ? Si non, quelles sont mes autres options ?