Logging in .net
Hier das Analog zu Javas Log4J. Eventuell Trace mit der C# Compileroption /d:TRACE=True oder #define TRACE einschalten. TraceSource ist etwas mächtiger als Trace.
TraceSource
Im Code
Eine wichtige Klasse die die TraceSource mit der Methode TraceEvent.
#define TRACE
TraceSource mySource = new TraceSource("myTraceSrc");
mySource.TraceInformation("Hello World!");
mySource.TraceEvent(TraceEventType.Error, 5, "Hello World!");
mySource.TraceData(TraceEventType.Critical, 11, new object[] { 1, 2, 3 });
mySource.TraceData(TraceEventType.Information, 11, 11, 214, 2.3, "Hello", 't');
mySource.Close();
Config File
Mit einem Switch kann festgelegt werden, welches Level geloggt wird.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<sources>
<source name="myTraceSrc" switchName="switch1">
<listeners>
<add initializeData="output.txt"
type="System.Diagnostics.TextWriterTraceListener"
name="myLocalListener" />
</listeners>
</sourc-e>
</sources>
<switches>
<add name="switch1" value="Information" />
</switches>
</system.diagnostics>
</configuration>
Trace
Im Code
Trace.Write("ASP.NET TRACE","BLA BLA.");
Configfile
<system.diagnostics>
<trace>
<listeners>
<add initializeData="output.txt"
type="System.Diagnostics.TextWriterTraceListener"
name="myLocalListener" />
</listeners>
</trace>
</system.diagnostics>