2010-08-13 7 views
1

Je conçois une application console pour la première fois de ma carrière. Cette application de console est un moteur qui fera une tâche chaque nuit à un moment particulier. Je vais planifier cette application en utilisant le planificateur de tâches Windows.Application de consignation pour l'application de console C#

Maintenant, je dois me connecter à chaque étape de cette tâche. Je ne suis pas sûr de ce que l'enregistreur convient le mieux pour ce genre d'application. Ces messages de journal peuvent être stockés dans une base de données, un fichier XML ou un fichier plat. Pouvez-vous donner vos suggestions pour la meilleure application d'enregistreur pour ce genre de scénario?

+0

Copie possible de http://stackoverflow.com/questions/126540/what-is-your-net-logging-framework-of-choice. –

Répondre

5

Essayez NLog il s'agit essentiellement de port de Log4j à .NET. Vous pouvez le configurer par programme ou via le fichier .xml. La seconde option est pratique car vous n'avez pas besoin de recompiler votre projet chaque fois que vous souhaitez modifier les options de journalisation. Dans l'utilisation commune de code ressemblerait.

class MyClass 
{ 
    private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); 

    public void MyMethod() 
    { 
     // available logging levels TRACE,INFO,DEBUG,WARN,ERROR, FATAL 
     Logger.Debug("Debug message"); 
    } 
} 
+0

Existe-t-il des outils disponibles pour afficher les messages de journal écrits dans le fichier depuis NLog? Comment visualisez-vous ces fichiers journaux? – JPReddy

+0

dépend de la sortie. Nlog peut écrire des logs sur un serveur tcp, une base de données, des fichiers texte, etc – jgauffin

+0

fondamentalement 'tail -f' :). Mais vous pouvez essayer [baretail] (http://www.baremetalsoft.com/baretail/) il peut analyser n'importe quel fichier journal ou outil apache appelé [tronçonneuse] (http://logging.apache.org/chainsaw/index.html) conçu pour log4j – jethro

5

Nous utilisons généralement log4net pour toutes les opérations de connexion dans les applications dont je fais actuellement partie. Fonctionne très bien. Ensuite, nous avons des scripts qui compriment quotidiennement les logs dans des fichiers zip pour économiser de l'espace disque (puisque certaines applications sont assez bavardes dans leur journalisation).

+0

Est-ce que log4net est compatible avec .net 4.0? – JPReddy

+0

@JayaprakashReddy: Je ne l'ai pas essayé moi-même, mais cela me surprendrait s'il y avait des problèmes majeurs. Il y a une discussion sur le sujet ici: http://stackoverflow.com/questions/1866735/log4net-and-net-4-0 –

+1

log4net a une dépendance sur System.Web, donc vous ne pouvez pas l'utiliser dans un. Projet de profil client NET 4 Un problème a été soulevé dans leur système JIRA mais il ne semble pas y avoir beaucoup de mouvement sur le projet ces jours-ci - la dernière version date de plus de 2 ans –

2

Les cadres d'exploitation les plus courants sur .NET sont Log4Net et NLog, bien qu'il y ait d'autres.

Questions connexes