配置App.config重定向Trace输出到文本文件

在 .net 类库中有一个 system.diagnostics 命名空间,该命名空间提供了一些与系统进程、事件日志、和性能计数器进行交互的类库。当中包括了两个对开发人员而言十分有用的类——debug类和trace类。debug类里所提供的函数仅在编译时带#debug宏参数才奏效,一旦到了release版本中,这些函数都会被忽略。也就是说debug类的功能仅在程序员开发的时候能用。而trace则不同,它能在release版本的程序中也被运行,这样程序员就可以在release版本的程序中添加一些debug类提供的功能了。

下面介绍一下如何通过"配置App.config重定向Trace输出到文本文件"的方法来做程序日志 

App.config配置如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <switches>
      <add name="switch" value="4"/>
    </switches>
    <trace autoflush="true" indentsize="2">
      <listeners>
        <add name="listener" type="System.Diagnostics.TextWriterTraceListener" initializeData="AppLog.txt"/>
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

代码:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 10; i++)
            {
                Trace.WriteLine(new Random(Guid.NewGuid().GetHashCode()).Next(100));
            }
        }
   }
}

程序运行后,在运行目录下新增AppLog.txt


利用 system.diagnostics.debug 类和 system.diagnostics.trace 类可以方便地进行调试程序并检测程序运行情况。 
debug类的所有调用仅在程序的debug版本中有效;而trace类的调用能在release版本和debug版本中都有效。

posted on 2012-11-07 09:37  HTTP500  阅读(230)  评论(0编辑  收藏  举报