The .NET 2.0 tracing architecture consists of four main parts:
Source - This is the originator of the trace information. The source is used to send trace messages. The name of the source provided by Connector/NET is
mysql
.Switch - This defines the level of trace information to emit. Typically, this is specified in the
app.config
file, so that it is not necessary to recompile an application to change the trace level.Listener - Trace listeners define where the trace information will be written to. Supported listeners include, for example, the Visual Studio Output window, the Windows Event Log, and the console.
Filter - Filters can be attached to listeners. Filters determine the level of trace information that will be written. While a switch defines the level of information that will be written to all listeners, a filter can be applied on a per-listener basis, giving finer grained control of trace information.
To use tracing MySql.Data.MySqlClient.MySqlTrace can be used as a TraceSource for Connector/NET and the connection string must include "Logging=True".
To enable trace messages, configure a trace switch. Trace switches have associated with them a trace level enumeration, these are Off, Error, Warning, Info, and Verbose.
MySqlTrace.Switch.Level = SourceLevels.Verbose;
This sets the trace level to Verbose, meaning that all trace messages will be written.
It is convenient to be able to change the trace level without
having to recompile the code. This is achieved by specifying the
trace level in application configuration file,
app.config
. You then simply need to specify
the desired trace level in the configuration file and restart the
application. The trace source is configured within the
system.diagnostics
section of the file. The
following XML snippet illustrates this:
<configuration>
...
<system.diagnostics>
<sources>
<source name="mysql" switchName="MySwitch"
switchType="System.Diagnostics.SourceSwitch" />
...
</sources>
<switches>
<add name="MySwitch" value="Verbose"/>
...
</switches>
</system.diagnostics>
...
</configuration>
By default, trace information is written to the Output window of
Microsoft Visual Studio. There are a wide range of listeners that
can be attached to the trace source, so that trace messages can be
written out to various destinations. You can also create custom
listeners to allow trace messages to be written to other
destinations as mobile devices and web services. A commonly used
example of a listener is ConsoleTraceListener
,
which writes trace messages to the console.
To add a listener at runtime, use code such as the following:
ts.Listeners.Add(new ConsoleTraceListener());
Then, call methods on the trace source object to generate trace
information. For example, the
TraceInformation()
,
TraceEvent()
, or TraceData()
methods can be used.