zoukankan      html  css  js  c++  java
  • c# Trace.Assert用法

    注意:

    以Trace类做示例,但Debug类也通用。

    Trace.Listeners默认是一个System.Diagnostics.DefaultTraceListener类型,这个类型的侦听器会在断言时弹出一个对话框,如下代码:

    // using System.Diagnostics;

    Trace.Assert(false,"hehe");

    执行后会出现如下对话框:

    hehe

    方法一就是清空Trace的默认侦听器,然后加入自己的侦听器,比如TextWriterTraceListener:

    后台:

    using System.Diagnostics;
    namespace test_trace{
     public class test{
    public void main(){
        Trace.Listeners.Clear();
    
       //自动清空缓冲(即时写入)
    
       Trace.AutoFlush=true;
    
         Trace.Listeners.Add(newTextWriterTraceListener("app.log"));
    
         Trace.Assert(false,"hehe");
    }
    }

    第二种方法就是通过修改应用程序集的配置文件(app.config)

    <configuration>
    
    <system.diagnostics>
    
    <trace autoflush="true">
    
    <listeners>
    
    <!--删除默认侦听器-->
    
    <clear/>
    
    <!--加入侦听器-->
    
    <add name="listener1" type="System.Diagnostics.TextWriterTraceListener" initializeData="app.log"/>
    
    </listeners>
    
    </trace>
    
    </system.diagnostics>
    
    </configuration>

    第三种方法也是在配置文件里,其实<system.diagnostics>元素下有直接对断言的支持,使用<assert>元素。assertuienabled属性代表是否显示断言对话框,而logfilename代表记录文件的位置。

    <configuration>
    
    <system.diagnostics>
    
    <assert assertuienabled="false" logfilename="app.log"/>
    
    </system.diagnostics>
    
    </configuration>

    最后需要注意的是第三种方法输出的记录最详细,而且不需要设置Trace类的属性。第一行的”hehe”是前两种方法的输出。而后面的文字全是第三种方法的输出。

    Fail: hehe

    ---- DEBUG ASSERTION FAILED ----

    ---- Assert Short Message ----

    hehe

    ---- Assert Long Message ----

    at Program.Main() e:\users\mgen\documents\visual studio 2010\Projects\Mgen\Mgen\Program.cs(11)

  • 相关阅读:
    Server.UrlEncode UrlDecode 动态绑定gridview列发送接收乱码的问题
    gridview新用法,一直不知道gridview可以这么用
    vm workstation15 迁移至ESXi6.7步骤
    http 502与504的区别
    Asp.net项目部署ActiveReport
    不能在 Page 回调中调用 Response.Redirect 解决方法
    JQuery TextExt 控件使用
    通过ashx获取JSON数据的两种方式
    jQuery Mobile对话框插件
    替换文本框title提示文本
  • 原文地址:https://www.cnblogs.com/wang726zq/p/Trace.html
Copyright © 2011-2022 走看看