73 votes

Erreur de connexion

Je fais mon commutateur de codage en C++ en C#. J'ai besoin de remplacer mon C++ erreur de connexion/reporting système de macro avec quelque chose de similaire en C#.

Dans ma source C++ je peux écrire

LOGERR("erreur"); ou LOGERR("Erreur avec entrées %s et %d", stringvar, intvar);

La macro en charge et de bibliothèque de code passe ensuite (éventuellement varargs) message mis en forme dans une base de données avec le fichier source, la source de ligne, le nom d'utilisateur et le temps. Les mêmes données sont également en peluche dans une structure de données pour la déclaration ultérieure de l'utilisateur.

Quelqu'un at-il de code C# des extraits ou des pointeurs vers des exemples de cette erreur fondamentale de déclaration/enregistrement?

Edit: Au moment où j'ai posé cette question, j'ai été vraiment nouveau .NET et n'avait pas conscience de Système.Diagnostics.Trace. Système.Diagnostics.Trace était ce dont j'avais besoin à l'époque. Depuis lors, j'ai utilisé log4net sur des projets où les exigences d'enregistrement étaient plus grandes et plus complexes. Il suffit d'éditer que 500 ligne fichier de configuration XML et log4net fera tout ce que vous aurez besoin :)

73voto

Chris S Points 32376

Beaucoup de log4net préconise ici, donc je suis sûr que ce sera ignorée, mais je vais ajouter ma préférence:

System.Diagnostics.Trace

Cela inclut les auditeurs qui écoutent pour votre Trace() méthodes, et puis les écrire dans un fichier journal/fenêtre de sortie/journal des événements, dans le cadre qui sont inclus sont DefaultTraceListener, TextWriterTraceListener et de la EventLogTraceListener. Il vous permet de spécifier les niveaux (Warning,Error,Info) et les catégories.

Classe de Trace sur MSDN
L'écriture dans le Journal des Événements dans une Application Web
UdpTraceListener - écrire log4net compatible XML des messages à un visualiseur de journaux tels que log2console

41voto

Mitch Wheat Points 169614

Je recommande vivement de regarder log4Net . Cet article couvre la majorité de ce dont vous avez besoin pour commencer.

14voto

Mats Fredriksson Points 7136

NLog est une autre bonne bibliothèque de journalisation , qui peut se connecter à de nombreux endroits différents, tels que des fichiers, des bases de données, un enregistreur d'événements, etc.

11voto

spoon16 Points 17694

Enterprise Library est une alternative solide à log4net et offre de nombreuses autres fonctionnalités (mise en cache, gestion des exceptions, validation, etc.). Je l'utilise sur à peu près tous les projets que je construis.

Hautement recommandé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X