Demonstrates routing debug messages to a file : Debug Trace « Development Class « C# / C Sharp






Demonstrates routing debug messages to a file

Demonstrates routing debug messages to a file
 
/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa

Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
// Listener.cs -- Demonstrates routing debug messages to a file.
//
//                Compile this program with the following command line:
//                    C:>csc /debug:full /d:TRACE Listener.cs
using System;
using System.Diagnostics;
using System.IO;

namespace nsDebugTest
{
    public class Listener
    {
        static void Main(string[] args)
        {
            EnableDebugging();
            Trace.AutoFlush = true;
            Trace.WriteLine ("Debug is on");
// Add the fllowing three lines to start another listener:
            FileStream strm = new FileStream ("Once.txt", FileMode.Create);
            TextWriterTraceListener listen = new TextWriterTraceListener (strm);
            Trace.Listeners.Add (listen);

            int Num = 1;
            Trace.Assert (Num == 0, "Num is not equal to 0");
// Add the following three lines:
            Trace.Listeners.Remove (listen);
            listen.Flush ();
            strm.Close ();

            clsTest test = new clsTest(42);
            test.ShowValue();
//            Trace.Listeners.Remove ("Console");
//            Trace.WriteLine ("\r\nConsole output has been disabled");
        }
        static void EnableDebugging ()
        {
            Trace.Listeners.Clear();
//            Trace.Listeners.Add (new TextWriterTraceListener(Console.Out, "Console"));
            Trace.Listeners.Add (new TextWriterTraceListener(Console.Out, "Console"));
            FileStream strm = new FileStream ("./Trace.out", FileMode.Create);
            StreamWriter writer = new StreamWriter (strm);
            Trace.Listeners.Add (new TextWriterTraceListener(writer));
        }
    }
    class clsTest
    {
        public clsTest (int num)
        {
            m_Num = num;
        }
        int m_Num;

        public void ShowValue()
        {
            try
            {
                DoSomething ();
            }
            catch (Exception e)
            {
                Console.WriteLine (e.StackTrace);
            }
            if (m_Num < 50)
            {
                Debug.WriteLine (m_Num + " is less than 50");
                Console.WriteLine (m_Num + " is less than 50");
            }
        }
        void DoSomething ()
        {
            Trace.WriteLine (Environment.StackTrace);
        }
    }
}




           
         
  








Related examples in the same category

1.Using BooleanSwitchUsing BooleanSwitch
2.Debug class
3.Debug and ProfileDebug and Profile
4.Trace to event log
5.Trace to debuger: writeline and flush
6.Trace class: listener and writeline
7.Tracing To A File
8.Tracing Example
9.demonstrates debug outputdemonstrates debug output
10.illustrate the use of the debuggerillustrate the use of the debugger
11.A simple demonstration of the Debug class
12.Demonstrate indenting debug messages
13.Defensive Programming:Conditional Methods
14.Debug and Trace Output
15.Using Switches to Control Debug and Trace:BooleanSwitch
16.Using Switches to Control Debug and Trace:TraceSwitch
17.Using Switches to Control Debug and Trace:User-Defined Switch
18.Object Dumper