TextWriterTraceListener Constructor (Stream, String)

 

Initializes a new instance of the TextWriterTraceListener class with the specified name, using the stream as the recipient of the debugging and tracing output.

Namespace:   System.Diagnostics
Assembly:  System (in System.dll)

public TextWriterTraceListener(
	Stream stream,
	string name
)

Parameters

stream
Type: System.IO.Stream

A Stream that represents the stream the TextWriterTraceListener writes to.

name
Type: System.String

The name of the new instance.

Exception Condition
ArgumentNullException

The stream is null.

This constructor initializes the Name property to the name parameter or to an empty string (""), if the name parameter is null.

The following code example creates a TextWriterTraceListener using the TextWriterTraceListener(Stream, String) constructor and adds it to the TraceListenerCollection. The example then writes two messages to this TextWriterTraceListener and writes a message to all TraceListener objects in the TraceListenerCollection. Finally, it flushes and closes the TextWriterTraceListener.

using System;
using System.Diagnostics;
using System.IO;
using Microsoft.VisualBasic;

class TWTLConStreamNameMod
{

    const string LISTENER_NAME = "myStreamListener";

    // args(0) is the specification of the trace log file.
    public static void Main(string[] args)
    {

        // Verify that a parameter was entered.
        if (args.Length==0)
        {
            Console.WriteLine("Enter a trace file specification.");

        }
        else
        {
            // Create a stream object.
            FileStream traceStream;
            try
            {
                traceStream = new FileStream(args[0], FileMode.Append, FileAccess.Write);
            }
            catch(Exception ex)
            {
                Console.WriteLine("Error creating FileStream for trace file \"{0}\":" +
                    "\r\n{1}", args[0], ex.Message);
                return;
            }

            // Create a TextWriterTraceListener object that takes a stream.
            TextWriterTraceListener textListener;
            textListener = new TextWriterTraceListener(traceStream, LISTENER_NAME);
            Trace.Listeners.Add(textListener);

            // Write these messages only to the TextWriterTraceListener.
            textListener.WriteLine("This is trace listener named \""+textListener.Name+"\"");
            textListener.WriteLine("Trace written through a stream to: " +
                "\r\n    \""+args[0]+"\"");

            // Write a message to all trace listeners.
            Trace.WriteLine(String.Format("This trace message written {0} to all listeners.", DateTime.Now));

            // Flush and close the output.
            Trace.Flush();
            textListener.Flush();
            textListener.Close();
        }
    }
}

.NET Framework
Available since 1.1
Return to top
Show: