zoukankan      html  css  js  c++  java
  • .NET : 跟踪和调试技术

    我们如果要为.NET程序启用跟踪和调试,则可以使用System.Diagnostics空间下面的一些API。为了方便编程,我们通常会使用配置文件来定义有关的信息

    1. 配置文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.diagnostics>
    
        
        <trace autoflush="true">
          <listeners>
            <clear/>
            <add name="default" type="System.Diagnostics.ConsoleTraceListener" initializeData=""></add>
            <add name="text" type="System.Diagnostics.XmlWriterTraceListener" initializeData="e:\temp\trace.xml"></add>
          </listeners>
        </trace>
      </system.diagnostics>
    </configuration>

    2. 写入调试信息

    using System.Diagnostics;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Debug.WriteLine("Hello,world");
    
                
            }
        }
    }
    

    3. 测试结果

    image

    image

    4. 假设需要根据不同的设置来将调试信息保存到不同的Listener中去,那么该怎么办呢

    假设,我们只是希望将一些紧要的跟踪信息写入到XML文件中,其他的消息输出到屏幕即可。那么按照下面这样修改一下配置文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.diagnostics>
        <sources>
          <source name="sample" switchValue="Error">
            <listeners>
              <add name="text" type="System.Diagnostics.XmlWriterTraceListener" initializeData="e:\temp\trace.xml"></add>
            </listeners>
          </source>
        </sources>
    
        <trace autoflush="true">
          <listeners>
            <clear/>
            <add name="default" type="System.Diagnostics.ConsoleTraceListener" initializeData=""></add>
          </listeners>
        </trace>
      </system.diagnostics>
    </configuration>
     
    代码
    using System.Diagnostics;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Debug.WriteLine("Hello,world");
    
    
                //写入特定的源
                TraceSource source = new TraceSource("sample");
                source.TraceData(TraceEventType.Error, 1, "Hello,World");
            }
        }
    }
    
  • 相关阅读:
    20171121
    20171117
    20171106
    20171031
    20171024
    20170924
    20170721
    商品的分类
    会员价格的修改
    会员价格删除
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1629289.html
Copyright © 2011-2022 走看看