Trace,TraceSource

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace TraceSwitchDemo
{
    class Program
    {
        
        static TraceSource ts = new TraceSource("TraceTest");
        static void Main(string[] args)
        {
            ts.Listeners[0].TraceOutputOptions |= TraceOptions.DateTime;
            ts.Listeners[0].Write("xxxxxx");
            ts.TraceEvent(TraceEventType.Warning,1);
            #region
            TraceSwitch generalSwitch = new TraceSwitch("MagicTraceWwitch", "EntireAppliction");
            string category = "MagicTraceSwitch Category";
            Console.WriteLine(TraceLevel.Info);
            Trace.WriteIf(generalSwitch.TraceError, "My Error message.");

            Trace.WriteLineIf(generalSwitch.TraceVerbose, "My second error message", category);

            if (generalSwitch.TraceError)
            {
                Trace.Write("My error message.");
            }
            if (generalSwitch.TraceVerbose)
            {
                Trace.WriteLine("My second error message.", category);
            }
            Trace.Fail("Invalid value", "Resetting value to newValue.");
            Trace.Flush();
            #endregion

            Console.ReadKey();
        }
    }
}
View Code
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.diagnostics>
        <sources>
        <source name="TraceTest" switchName="MagicTraceWwitch"
        switchType="System.Diagnostics.SourceSwitch" >
            <listeners>
                <add name="console" />
                <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\myListener1.log"></add>
                <remove name ="Default" />
            </listeners>
        </source>
        </sources>

        <switches>
            <add name="MagicTraceWwitch" value="4" />
        </switches>
        <sharedListeners>
            <add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false"></add>
        </sharedListeners>
        <trace autoflush="true" indentsize="4">
            <listeners>
                <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\myListener.log"></add>
                <remove name="Default"></remove>    
            </listeners>
        </trace>
    </system.diagnostics>
</configuration>

Trace监视代码 可以根据TraceSource来源不同做日志

posted on 2012-12-02 16:31  R.Ray  阅读(232)  评论(0)    收藏  举报

导航