TextWriterTraceListener 类

将跟踪或调试输出定向到 TextWriterStream,如 FileStream

**命名空间:**System.Diagnostics
**程序集:**System(在 system.dll 中)

语法

声明
Public Class TextWriterTraceListener
    Inherits TraceListener
用法
Dim instance As TextWriterTraceListener
public class TextWriterTraceListener : TraceListener
public ref class TextWriterTraceListener : public TraceListener
public class TextWriterTraceListener extends TraceListener
public class TextWriterTraceListener extends TraceListener

备注

提示

应用于此类的 HostProtectionAttribute 属性 (Attribute) 具有以下 Resources 属性 (Property) 值:SynchronizationHostProtectionAttribute 并不会影响桌面应用程序(桌面应用程序通常通过双击图标、键入命令或在浏览器中输入 URL 来启动)。有关更多信息,请参见 HostProtectionAttribute 类或 SQL Server 编程和宿主保护属性

TextWriterTraceListener 类提供获取或设置接收跟踪或调试输出的文本编写器的 Writer 属性。

此类还提供 CloseWriter 使它不再接收跟踪或调试输出的方法,FlushWriter 的输出缓冲区的方法,以及将消息 WriteWriter 的方法。

必须启用跟踪或调试才能使用跟踪侦听器。下面的语法是编译器特定的语法。如果使用 C# 或 Visual Basic 之外的编译器,请参见相应编译器的文档。

  • 若要在 C# 中启用调试,请在编译代码时将 /d:DEBUG 标志添加到编译器命令行,或者可以将 #define DEBUG 文件添加到文件的顶部。在 Visual Basic 中,将 /d:DEBUG=True 标志添加到编译器命令行。

  • 若要在 C# 中启用跟踪,请在编译代码时将 /d:TRACE 标志添加到编译器命令行中,或者将 #define TRACE 添加到文件的开头。在 Visual Basic 中,将 /d:TRACE=True 标志添加到编译器命令行。

若要添加跟踪侦听器,请编辑与应用程序的名称对应的配置文件。在该文件中,可以添加侦听器、设置其类型和参数、移除侦听器或清除以前由应用程序设置的所有侦听器。应像下面的示例这样对配置文件进行格式化:

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="4">
      <listeners>
        <add name="myListener" 
          type="System.Diagnostics.TextWriterTraceListener" 
          initializeData="TextWriterOutput.log" />
        <remove name="Default" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

提示

如果尝试向正在使用或不可用的文件中写入数据,则 GUID 将自动为文件名加上前缀。

主题 位置
演练:将 ASP.NET 跟踪与 System.Diagnostics 跟踪集成 在 Visual Studio 中生成 ASP .NET Web 应用程序
演练:将 ASP.NET 跟踪与 System.Diagnostics 跟踪集成 在 Visual Studio 中生成 ASP .NET Web 应用程序
演练:将 ASP.NET 跟踪与 System.Diagnostics 跟踪集成 生成 ASP .NET Web 应用程序

示例

下面的示例实现 TextWriterTraceListener 类的一个实例,该类使用名为 myOutputWriterStreamWriter 写入一个名为 TestFile.txt 的文件。首先,此示例创建用于输出的文件。然后,它为第一个文本编写器创建 StreamWriter,将输出文件分配给它,并将其添加到 Listeners。然后,该代码将一行文本输出到该文件。最后,该示例刷新输出缓冲区。

在运行此示例后,可以打开 TestFile.txt 文件查看输出。

Public Class Sample
    
    Public Shared Sub Main()
        ' Create a file for output named TestFile.txt.
        Dim myFile As Stream = File.Create("TestFile.txt")
        
        ' Create a new text writer using the output stream, and add it to
        ' the trace listeners. 
        Dim myTextListener As New TextWriterTraceListener(myFile)
        Trace.Listeners.Add(myTextListener)

        
        ' Write output to the file.
        Trace.Write("Test output ")
        
        ' Flush the output.
        Trace.Flush() 

        System.Environment.ExitCode = 0
    End Sub

End Class
public class Sample
{

public static int Main(string[] args) {
    // Create a file for output named TestFile.txt.
    Stream myFile = File.Create("TestFile.txt");
 
    /* Create a new text writer using the output stream, and add it to
     * the trace listeners. */
    TextWriterTraceListener myTextListener = new 
       TextWriterTraceListener(myFile);
    Trace.Listeners.Add(myTextListener);
 
    // Write output to the file.
    Trace.Write("Test output ");
 

    // Flush the output.
    Trace.Flush(); 

    return 0;
 }

}
int main()
{
   
   // Create a file for output named TestFile.txt.
   Stream^ myFile = File::Create( "TestFile.txt" );
   
   /* Create a new text writer using the output stream, and add it to
        * the trace listeners. */
   TextWriterTraceListener^ myTextListener = gcnew TextWriterTraceListener( myFile );
   Trace::Listeners->Add( myTextListener );
   
  
   // Write output to the file.
   Trace::Write( "Test output " );
   
  
   // Flush the output.
   Trace::Flush();
   return 0;
}
public class Sample
{
    public static void main(String[] args)
    {
        // Create a file for output named TestFile.txt.
        Stream myFile = File.Create("TestFile.txt");

        /* Create a new text writer using the output stream, and add it to
         * the trace listeners.
         */
        TextWriterTraceListener myTextListener = 
            new TextWriterTraceListener(myFile);
        Trace.get_Listeners().Add(myTextListener);

        // Write output to the file.
        Trace.Write("Test output ");

        // Flush the output.
        Trace.Flush();
        return;
    } //main
} //Sample 

继承层次结构

System.Object
   System.MarshalByRefObject
     System.Diagnostics.TraceListener
      System.Diagnostics.TextWriterTraceListener
         System.Diagnostics.ConsoleTraceListener
         System.Diagnostics.DelimitedListTraceListener
         System.Diagnostics.XmlWriterTraceListener

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

TextWriterTraceListener 成员
System.Diagnostics 命名空间
TraceListener
DefaultTraceListener 类
ConsoleTraceListener 类
EventLogTraceListener 类
Stream
TextWriter
Debug 类
Trace