2010-12-08 17 views
2

Folks .. Notre client demande une nouvelle exigence qui permet à notre application de consigner tous les événements importants générés par l'utilisateur, par exemple, disons que l'utilisateur A change la propriété phoneNumber de (305) -5555-555 à (906) -5555-555, nous devons enregistrer cet événement dans un format lisible. quelque chose commeApplication Logger

updated phoneNumber from (305)-5555-555 to (906)-5555-555, responsible: User A. 

ma question, n'existe une approche bien connue pour le faire, peut-être une technique ou un outil ou quoi que ce soit?, ou nous devons mettre en œuvre chaque journal à la main en ajoutant une logique tout à mon courant code source ??

nous utilisons ASP.Net avec C# !!!

Répondre

2

Il existe plusieurs outils que vous pouvez utiliser. NLog et Log4Net étant deux exemples. Il n'y a pas de formule magique qui va enregistrer ces événements pour vous sans les coder.

Si vous utilisez des modèles d'entité, vous pouvez peut-être injecter la journalisation à l'aide de AOP. Jetez un oeil à PostSharp. C'est un outil très utile qui peut vous sauver beaucoup de codage fastidieux.

+1

Les auteurs de PostSharp votent contre son utilisation dans un scénario ASP.NET. En outre, il existe un projet supplémentaire visant à supprimer ces limitations: http://postsharp4aspnet.codeplex.com/ (je ne l'ai pas utilisé). –

0

Je l'ai utilisé Nlog dans le passé et cela a bien fonctionné

0

Utilisez log4Net nous l'avons utilisé plusieurs fois et c'est le meilleur outil de journalisation là-bas pour libre et open source!

http://logging.apache.org/log4net/

log4net est un outil pour aider les déclarations du journal de sortie de programmeur à une variété de cibles de sortie. En cas de problèmes avec une application, il est utile d'activer la journalisation afin que le problème puisse être localisé. Avec log4net, il est possible d'activer la journalisation au moment de l'exécution sans modifier le binaire de l'application. Le package log4net est conçu de sorte que les instructions de journal puissent rester dans le code fourni sans entraîner de coûts de performance élevés. log4net est conçu avec deux buts distincts en tête: la vitesse et la flexibilité

Utilisez l'exemple de code sur le site et commencez la lecture!

2

La consignation des événements d'application est un must. Mais la plupart des modules de journalisation disponibles sont assez gonflés ou lourdement structurés. Pourquoi ne pas créer votre propre enregistreur de fichiers et obtenir un contrôle total sur cette partie de votre application? Trouver un exemple complet d'implémentation HERE.

+0

Bon conseil ET code !!!! D'autres réponses sont pour Objective-C et j'ai besoin de consigner les problèmes qui se passent en C++. Je vous remercie. +1 – Patricia