Csharp/CSharp Tutorial/Development/Trace
Содержание
Trace Assert
<source lang="csharp">using System; using System.IO; using System.Diagnostics; class MainClass {
[STAThread] static void Main(string[] args) { int i = 0; Trace.Assert((i == 1), "My Trace Assertion"); }
}</source>
Trace to a file
<source lang="csharp">using System; using System.IO; using System.Diagnostics; class MainClass {
[STAThread] static void Main(string[] args) { FileStream Log = new FileStream("Log.txt", FileMode.OpenOrCreate); Trace.Listeners.Add(new TextWriterTraceListener(Log)); Trace.WriteLine("My Trace String To Log File"); Trace.Flush(); Log.Close(); }
}</source>
Trace to console
<source lang="csharp">using System; using System.IO; using System.Diagnostics; class MainClass {
[STAThread] static void Main(string[] args) { Trace.Listeners.Add(new TextWriterTraceListener(Console.Out)); Trace.WriteLine("My Trace to the console"); }
}</source>
Tracing To Debugger
<source lang="csharp">using System; using System.IO; using System.Diagnostics; class MainClass {
[STAThread] static void Main(string[] args) { Trace.WriteLine("My Trace String"); Trace.Flush(); }
}</source>
Tracing To EventLog
<source lang="csharp">using System; using System.IO; using System.Diagnostics; class MainClass {
[STAThread] static void Main(string[] args) { //You can change the listener with the following code EventLogTraceListener EventListener = new EventLogTraceListener("MyApp"); Trace.Listeners.Add(EventListener); Trace.WriteLine("My Trace String To Console"); }
}</source>
Use Trace Switch
<source lang="csharp">using System; using System.Diagnostics; class TracingExample {
static void Main(string[] args) { TraceSwitch General = new TraceSwitch("General", "Application Switch"); Trace.WriteLineIf(General.TraceError, "General - Error Tracing Enabled"); Trace.WriteLineIf(General.TraceWarning, "General - Warning Tracing Enabled"); Trace.WriteLineIf(General.TraceInfo, "General - Info Tracing Enabled"); Trace.WriteLineIf(General.TraceVerbose, "General - Verbose Tracing Enabled"); }
}
/* <?xml version="1.0" encoding="utf-8" ?> <configuration>
<system.diagnostics> <switches> <add name="General" value="1" /> </switches> </system.diagnostics>
</configuration>
- /</source>
Use Trace Switch defined in config file
<source lang="csharp">using System; using System.Diagnostics; class TracingExample {
static void Main(string[] args) { TraceSwitch MyComponent = new TraceSwitch("MyComponent", "Application Switch"); Trace.WriteLineIf(MyComponent.TraceError, "MyComponent - Error Tracing Enabled"); Trace.WriteLineIf(MyComponent.TraceWarning, "MyComponent - Warning Tracing Enabled"); Trace.WriteLineIf(MyComponent.TraceInfo, "MyComponent - Info Tracing Enabled"); Trace.WriteLineIf(MyComponent.TraceVerbose, "MyComponent - Verbose Tracing Enabled"); }
}
/* <?xml version="1.0" encoding="utf-8" ?> <configuration>
<system.diagnostics> <switches> <add name="MyComponent" value="3" /> </switches> </system.diagnostics>
</configuration>
- /</source>