typeparam example cref c# trace

cref - summary example c#



¿Cómo agregar el rastreo(simple) en C#? (4)

Quiero introducir un poco de seguimiento a una aplicación de C # que estoy escribiendo. Tristemente, nunca puedo recordar cómo funciona realmente y me gustaría tener un tutorial con cualidades de referencia para verificar de vez en cuando. Debe incluir:

  • App.config / Web.config cosas para agregar para registrar TraceListeners
  • cómo configurarlo en la aplicación de llamada

¿Conoces el tutorial súper al que debemos vincular?

EDITAR: Glenn Slaven me apuntó en la dirección correcta. Agregue esto a su App.config / Web.config dentro de <configuration/> :

<system.diagnostics> <trace autoflush="true"> <listeners> <add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter" initializeData="trace.log" /> </listeners> </trace> </system.diagnostics>

Esto agregará un TextWriterTraceListener que atrapará todo lo que envíe con Trace.WriteLine etc.

EDITAR: @DanEsparza señaló que debe usar Trace.TraceInformation , Trace.TraceWarning y Trace.TraceError lugar de Trace.WriteLine , ya que le permiten formatear mensajes de la misma manera que string.Format .

Consejo: Si no agrega ningún oyente, aún puede ver el resultado del rastreo con el programa SysInternals DebugView ( Dbgview.exe ): http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx



DotNetCoders tiene un artículo inicial: http://www.dotnetcoders.com/web/Articles/ShowArticle.aspx?article=50 , hablan sobre cómo configurar los switches en el archivo de configuración y cómo escribir el código, pero es bastante viejo (2002). Hay otro artículo sobre CodeProject: http://www.codeproject.com/KB/trace/debugtreatise.aspx pero tiene la misma edad. CodeGuru tiene otro artículo sobre TraceListeners personalizados: http://www.codeguru.com/columns/vb/article.php/c5611

No puedo pensar en artículos más recientes, con suerte alguien más aquí tendrá algo



Seguí alrededor de 5 respuestas diferentes, así como todas las publicaciones de blog anteriores y todavía tenía problemas. Intentaba agregar un oyente a algún código existente que se estaba rastreando usando el TraceSource.TraceEvent(TraceEventType, Int32, String) donde el objeto TraceSource se inicializó con una cadena convirtiéndola en una ''fuente nombrada''. Para mí, el problema no fue crear una combinación válida de elementos de origen y conmutación para apuntar a esta fuente. Aquí hay un ejemplo que se registrará en un archivo llamado tracelog.txt . Para el siguiente código:

TraceSource source = new TraceSource("sourceName"); source.TraceEvent(TraceEventType.Verbose, 1, "Trace message");

Logré iniciar sesión con éxito con la siguiente configuración de diagnóstico:

<system.diagnostics> <sources> <source name="sourceName" switchName="switchName"> <listeners> <add name="textWriterTraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="tracelog.txt" /> </listeners> </source> </sources> <switches> <add name="switchName" value="Verbose" /> </switches> </system.diagnostics>