2010-10-23 22 views
16

Quiero utilizar el siguiente código con un sitio web. ¿Qué config sections debo agregar al web.config para registrar la salida en un archivo o registro de eventos de Windows?Agregar tracelistener a 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(); 
    } 
} 

Respuesta

22

Debe usar la sección system.diagnostics. Aquí es ejemplo de MSDN para archivo de texto:

<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> 

Esto es para los eventos del sistema de registro: http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlogtracelistener.aspx

+3

registro de las ventanas de registro de sucesos no es sencillo con asp.net ya que requiere privilegios administrativos. – Xaqron

+0

¿Cree que se requieren cambios en la sección web.config _listiners_ para permitir el inicio de sesión en EventLog? – TarasB

+0

¿Necesita este código en la configuración web o necesita el siguiente código? 'Crear un oyente de rastreo para el registro de eventos. Dim myTraceListener como nuevo EventLogTraceListener ("myEventLogSource") 'Agregar el agente de escucha del seguimiento de eventos a la colección. Trace.Listeners.Add (myTraceListener) 'Escribir salida en el registro de eventos. Trace.WriteLine ("Salida de prueba") –

Cuestiones relacionadas