2012-09-24 3 views
0

J'ai essayé d'utiliser the class located here. Mais je n'ai pas réussi à faire fonctionner ça. Je ne comprends évidemment pas quelque chose correctement, mais je suis curieux de savoir comment faire fonctionner cet exemple de classe Logger. Ma recherche m'a envoyé vers l'utilisation de MSBuild mais l'utilisation de MSBuild me perturbe toujours. Tout pointeur serait utile. J'ai construit la classe logger dans un .dll, et référencé dans le projet, mais c'est là que ma recherche semblait se tarir avec des informations utiles.Problème avec .net 2.0 Logger Classe

Mon objectif est actuellement juste de faire fonctionner la classe logger ci-dessus afin que je puisse utiliser ma propre classe de logger.

+2

quelles erreurs êtes-vous, ou quels problèmes précis vous exécutez dans? – BlackICE

+0

Vous essayez d'ajouter une journalisation personnalisée pendant la génération? Ou essayez-vous d'ajouter la journalisation à votre application? –

+0

Le problème que je rencontre est que je ne peux pas sembler avoir de la journalisation. J'ai créé un projet factice qui appelle simplement une méthode fictive en espérant pouvoir faire quelque chose mais il ne semble rien faire pour la journalisation. J'ai le sentiment fort qu'il me manque quelque chose, mais je suppose que je ne sais pas assez sur la journalisation pour être en mesure d'identifier le problème. – cgront

Répondre

2

Cette classe est spécifique à la journalisation des événements MSBuild. Si vous voulez un enregistreur générique qui n'a rien à voir avec MSBuild examiner quelques-unes de ces alternatives:

+0

Okay Si je voulais créer mon propre enregistreur générique, j'avais vu des gens en ligne en utilisant System.diagnostic.tracesource, est-ce le chemin que je voudrais suivre?J'essaie d'éviter les paquets tiers – cgront

+0

Cela pourrait être une méthode. Il ne prend pas en charge la journalisation de la base de données, contrairement aux autres utilisateurs. –

0

ne pas avoir peur d'utiliser une bibliothèque pour faire la travail. Dans le tutoriel here pour log4net, il s'agit d'un processus simple en sept étapes pour commencer à utiliser une bibliothèque de journalisation entièrement fonctionnelle et évolutive. Je vais ajouter des parties du didacticiel juste au cas où le lien disparaîtrait.

D'abord, vous construire une section de configuration très simple dans votre fichier App.config:

<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/> 
    </configSections> 
    <log4net> 
    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="LogFileAppender" /> 
    </root> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" > 
     <param name="File" value="log-file.txt" /> 
     <param name="AppendToFile" value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="10" /> 
     <maximumFileSize value="10MB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
     </layout> 
    </appender> 
    </log4net> 
</configuration> 

Pour vos besoins vous à peu près juste besoin de changer le value du premier param nommé File comme il est déjà configuré pour ajouter à un fichier texte.

Ensuite, vous devrez exécuter la configuration dans une méthode de démarrage, comme Application_Start ou la méthode main de votre programme.

log4net.Config.XmlConfigurator.Configure(); 

Enfin, simplement l'utiliser en branchant quelques lignes:

private static readonly ILog log = LogManager.GetLogger(typeof(Bar)); 
... (rest of class) 
... (somewhere in a method) ... log.Debug("this is the first log message");