Today I wrote a vey simple demo to show the use of Trace Relate class, which are all int the namespace System.Diagnostics: Trace, TraceSwitch, TraceListener.
App.config
Code
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<switches>
<!--We can change the value here, and the swich could affect the function of Trace,
without recompile the whole system-->
<add name="traceS" value="1"/>
</switches>
</system.diagnostics>
</configuration>
Code
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace CommonTest
{
class Program
{
static void Main(string[] args)
{
TextWriterTraceListener console = new TextWriterTraceListener(Console.Out);
Trace.Listeners.Add(console);
TraceSwitch traceS = new TraceSwitch("traceS", "Application Switch");
int i = 1;
while (i > 0)
{
Trace.AutoFlush = true;
Trace.WriteLineIf(traceS.TraceWarning, "warning");
Trace.WriteLineIf(traceS.TraceVerbose, "writeline");
Trace.WriteLineIf(traceS.TraceInfo, "info");
Trace.WriteLineIf(traceS.TraceError, "err");
i--;
}
Console.Read();
}
}
}
Whatever, Trace and TraceSwitch are all simple concepts, and are really easy to use. Pay attention to this line of code:
TraceSwitch traceS = new TraceSwitch("traceS", "Application Switch");
The constructor of TraceSwitch will use the info of