Demonstrates routing debug messages to a file : Debug Trace : Development Class C# Source Code


Custom Search

C# Source Code » Development Class » Debug Trace »

 

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);
        }
    }
}




           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Development Class
» Debug Trace