2010-10-23 13 views
16

Je souhaite utiliser le code ci-dessous avec un site Web. Quel config sections dois-je ajouter à web.config pour consigner la sortie dans un fichier ou un journal d'événements Windows?Ajout de tracelistener à web.config

using System.Diagnostics; 

// Singleton in real code 
Class Logger 
{ 
    // In constructor: Trace.AutoFlush = false; 

    public void Log(message) 
    { 
     String formattedLog = formatLog(message); 
     Trace.TraceInformation(formattedLog); 
     Trace.Flush(); 
    } 
} 

Répondre

22

Vous devez utiliser la section system.diagnostics. Voilà exemple de MSDN pour le fichier texte:

<configuration> 
    <system.diagnostics> 
    <trace autoflush="false" indentsize="4"> 
     <listeners> 
     <add name="myListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      initializeData="TextWriterOutput.log" /> 
     <remove name="Default" /> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

Ceci est pour les événements du journal système: http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlogtracelistener.aspx

+3

Enregistrement à des événements Windows-journal n'est pas en avant droit avec asp.net, car il nécessite des privilèges administratifs. – Xaqron

+0

pensez-vous que des changements dans la section web.config _listiners_ sont nécessaires pour permettre la connexion à EventLog? – TarasB

+0

avez-vous juste besoin de ce code sur le web config ou avez-vous aussi besoin du code suivant? 'Créer un écouteur de trace pour le journal des événements. Dim myTraceListener en tant que nouveau EventLogTraceListener ("myEventLogSource") 'Ajoutez l'écouteur de trace du journal des événements à la collection. Trace.Listeners.Add (myTraceListener) 'Écrire la sortie dans le journal des événements. Trace.WriteLine ("Sortie de test") –