una redireccionar que pagina otra htaccess con como .net vb.net .net-2.0 console trace

.net - que - redireccionar url



Redirigir la salida de seguimiento a la consola (3)

Joel,

Puede hacer esto en lugar del método de configuración de la aplicación:

Trace.Listeners.Add(new ConsoleTraceListener());

o esto, si desea administrar la adición o eliminación del oyente durante la vida de la aplicación:

ConsoleTraceListener listener = new ConsoleTraceListener(); Trace.Listeners.Add(listener); Trace.WriteLine("Howdy"); Trace.Listeners.Remove(listener); Trace.Close();

Digamos que estoy trabajando en una pequeña aplicación de consola de procesamiento por lotes en VB.Net. Quiero ser capaz de estructurar la aplicación de esta manera:

Sub WorkerMethod() ''Do some work Trace.WriteLine("Work progress") ''Do more work Trace.WriteLine("Another progress update") ''... End Sub Sub Main() ''Do any setup, like confirm the user wants to continue or whatever WorkerMethod() End Sub

Tenga en cuenta que estoy usando Trace lugar de Console para mi salida. Esto se debe a que se puede llamar al método de trabajo desde otro lugar, o incluso vivir en un ensamblaje diferente, y quiero poder asignarle diferentes detectores de seguimiento. Entonces, ¿cómo puedo conectar la consola a la traza?

Ya puedo hacerlo definiendo una clase simple (como se muestra a continuación) y agregando una instancia a la colección de oyentes de Trace, pero me pregunto si hay una forma más aceptada o incorporada para lograr esto:

Public Class ConsoleTrace Inherits Diagnostics.TraceListener Public Overloads Overrides Sub Write(ByVal message As String) Console.Write(message) End Sub Public Overloads Overrides Sub WriteLine(ByVal message As String) Console.WriteLine(message) End Sub End Class


Puede agregar lo siguiente al archivo .config de su exe.

<?xml version="1.0"?> <configuration> <system.diagnostics> <trace autoflush="true"> <listeners> <add name="logListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="cat.log" /> <add name="consoleListener" type="System.Diagnostics.ConsoleTraceListener"/> </listeners> </trace> </system.diagnostics> </configuration>

Incluí el TextWriter también, en caso de que esté interesado en iniciar sesión en un archivo.


Una gran solución, pero tengo una situación en la que tengo diferentes dll ejecutados por el mismo exe de llamada, por lo que no quiero modificar el archivo .config del ejecutable. Quiero que cada dll maneje su propia alteración de la salida de rastreo.

Suficientemente fácil:

Stream outResultsFile = File.Create ("output.txt"); var textListener = new TextWriterTraceListener (outResultsFile); Trace.Listeners.Add (textListener);

Esto, por supuesto, generará salida de Trace en el archivo "output.txt".