10
votes

Quel utilitaire de journal est bon pour l'application .NET en C # (ASP.NET, WINFORMS)?

J'essaie d'évaluer certains des meilleurs utilitaires journaux disponibles pour .NET Framework, tels que Microsoft Enterprise Bibliothèque, Log4net, Elmah.

Quelqu'un qui a déjà traversé cet exercice viendrait à mon aide dans la liste des avantages et des inconvénients des meilleurs disponibles sur le marché.

merci et respects, Rajeev Ranjan Lall


3 commentaires

Avez-vous des exigences de journalisation spécifiques? Comme tous ceux que vous avez énumérés sont excellents


Que diriez-vous de rechercher un débordement de pile en premier? Stackoverflow.com/questions/98080/... Stackoverflow.com / Questions / 147557 / Erreur-Logging-in-C Stackoverflow.com/questions/185542/net- Logging-framework


Je vais aussi avec Elmah pour la gestion des erreurs et Serilog pour tout enregistrement. Voici un Tutoriel Elmah . Aussi, consultez Outils de journalisation .NET et bibliothèques , qui contient un aperçu des cadres d'exploitation forestière réellement entretenus.


10 Réponses :


2
votes

elmah est le meilleur. Elmah Rocks!


3 commentaires

@cette. __Curious_Geek: ELMAH est-il également elmah pour Windows?


Non. Elmah utilise des capacités spécifiques à la plate-forme ASP.NET (gestionnaires).


Elmah est assez facile à travailler avec et il est assez simple de l'utiliser dans une application Windows. Seul inconvénient est que vous perdez le joli httpmodule qu'il vient avec mais heureusement un projet CODEPLEX qui aide à agir. ASPEXESTIONREPORTER.CODEPLEX.COM



15
votes

En général Bonne est log4net .

Avantages: log4net prend en charge de nombreuses sources de sortie.
inconvénients: peut parfois ralentir votre application.

pour l'application ASP.NET est du meilleur elmah .

Avantages: Vous n'avez pas à modifier un peu de code d'application pour utiliser Elmah. Vous devez simplement inclure votre application.
inconvénients: pas que je sache.


2 commentaires

Log4net est lent que sur la manière dont vous implémentez et quelles classes vous attachez.


+1 pour Elmah. J'ai utilisé Elmah depuis des années et c'est génial. J'ai commencé il y a environ un an en utilisant Elmah pour une journalisation manuelle d'erreur pour des applications non Web. Je devais mettre à jour légèrement le code pour me permettre de transmettre le nom de l'application, mais cela a bien fonctionné.



1
votes

Bibliothèque d'entreprise est la seule édition formelle que j'ai d'expérience avec et notre équipe l'a trouvé trop encombrante et dépourvue de polyvalence pour la plupart des temps. Vous pouvez l'éviter en toute sécurité et finira probablement mieux de coder votre propre solution.

Je n'ai pas eu l'occasion d'utiliser log4net ou Elmah.


0 commentaires

1
votes

J'utilisais ma propre coutume, Entlib, log4net, puis elmah

pour ASP.NET Erreur Reporting Elmah est la tête et les épaules supérieures au reste. Cependant, quelques points que je voudrais voir améliorer est le filtrage et peut-être un digère quotidien de courrier électronique plutôt que d'un courrier électronique par erreur.

Si vous souhaitez injecter des journalistes, avertit, débogage, traces, etc. alors je choisirais pour log4net.

Cependant, cela dépend du type de journalisation que vous êtes après ...


4 commentaires

Rippo, élaboré sur cela s'il vous plaît parce que je suis convaincu que RRL apprécierait-cela, cela nous aiderait certainement sur notre projet d'entreprise également (nous sommes sur le point de suivre une autre solution manuellement programmée). Les commentaires supplémentaires pourraient s'avérer inestimables.


Quel morceau voudriez-vous que je élabore?


ON (IYHO) Quel est précisément sur la déclaration d'erreur de la tête d'ELMAH et des épaules au-dessus de la compétition, fait-il le travail différemment? plus rapide? avec plus de grâce? etc.


L'avez-vous utilisé? Ce n'est donc que je suggère que vous ayez un look, si oui, alors peut-être que vous n'avez pas besoin de demander cela. Si vous voulez en discuter plus loin, je vous suggère de poser des questions sur les différences comme une nouvelle question de dépassement de pile. Hth.



7
votes

J'ai aussi entendu de bonnes choses sur NLOG Bien que je n'ai pas encore testé. Ils disent que l'API est similaire à celle fournie par Log4Net.

Aussi, en regardant à travers de sorte que vous avez de nombreuses questions liées à ce problème:

https: // Stackoverflow .Com / Questions / 98080 / What-Is-the-Best-Logging-Solution-for-AC-Net-3-5-Project

Cadre de journalisation .Net

Erreur de journalisation dans C #

J'espère que cela aide.


0 commentaires

5
votes

Jetez un coup d'œil à mon Cadre de journalisation . Facile à utiliser. Facile à configurer. Facile à prolonger.

et écouter ce que Ce gars dit .


0 commentaires

1
votes

Consultez Gibraltar pour une grande journalisation plus plus.

Il a sa propre API de journalisation et nous avons également des adaptateurs pour log4net, Nlog et le cadre de journalisation de l'objet Guy (postSharp aussi!). Outre la journalisation, Gibraltar recueille également des erreurs telles que Elmah et la collecte de mesures supplémentaires utiles pour le support client ou le CEIP.


0 commentaires

3
votes

log4net pour Windows Forms, log4net et Elmah pour ASP.NET.

elmah et log4net ont des objectifs différents. Elmah capture les données concernant des exceptions non gérées, tandis que Log4Net fournit un cadre de journalisation aux niveaux configurables (Info, avertissement, débogage, fatal). Log4Net exige que vous réduisez activement des instructions de journalisation dans votre code; Elmah fonctionne automatiquement une fois correctement configuré.


0 commentaires

0
votes

Je n'ai pas encore vu cela mentionné, mais j'ai découvert que le système intégré.Diagnostics tracesource et les tracelistes sont très puissants pour la journalisation. Nous avons construit un certain nombre de tracelistes personnalisés hautes performances pour différentes sources de données que nous persistons des journaux.

Nous échangons des différents auditeurs dans le fichier de configuration tout le temps. Nous profitons de System.Diagnostics.CorlationManager pour parcourir une chaîne d'exécution à travers de nombreux serveurs, processus et threads via des journaux.

Dans l'ensemble, nous avons une solution de journalisation sophistiquée construite sur ce qui est venu avec le cadre, et je suis très heureux avec ça.


0 commentaires