ConsoleTraceListener Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Dirigerar spårnings- eller felsökningsutdata till antingen standardutdata eller standardfelströmmen.
public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
- Arv
Exempel
I följande kodexempel implementeras ett konsolprogram som består av en klass med två offentliga metoder.
Metoden Main undersöker kommandoradsargumenten och avgör om spårningsutdata ska dirigeras till standardfelströmmen eller standardutdataströmmen.
Main skapar och initierar ett ConsoleTraceListener objekt för den angivna Console utdataströmmen och lägger till det här objektet i samlingen spårningslyssnare. Den anropar WriteEnvironmentInfoToTrace sedan metoden, som skriver information om körningsmiljön och spårningslyssnarens konfiguration till spårningsutdata.
När exempelprogrammet körs skrivs miljö- och spårningskonfigurationsinformationen till den angivna konsolens utdataström via ConsoleTraceListener objektet.
// Define the TRACE directive, which enables trace output to the
// Trace.Listeners collection. Typically, this directive is defined
// as a compilation argument.
#define TRACE
using System;
using System.Diagnostics;
public class ConsoleTraceSample
{
// Define a simple method to write details about the current executing
// environment to the trace listener collection.
public static void WriteEnvironmentInfoToTrace()
{
string methodName = "WriteEnvironmentInfoToTrace";
Trace.Indent();
Trace.WriteLine(DateTime.Now.ToString() + " - Start of " + methodName);
Trace.Indent();
// Write details on the executing environment to the trace output.
Trace.WriteLine("Operating system: " + System.Environment.OSVersion.ToString());
Trace.WriteLine("Computer name: " + System.Environment.MachineName);
Trace.WriteLine("User name: " + System.Environment.UserName);
Trace.WriteLine("CLR runtime version: " + System.Environment.Version.ToString());
Trace.WriteLine("Command line: " + System.Environment.CommandLine);
// Enumerate the trace listener collection and
// display details about each configured trace listener.
Trace.WriteLine("Number of configured trace listeners = " + Trace.Listeners.Count.ToString());
foreach (TraceListener tl in Trace.Listeners)
{
Trace.WriteLine("Trace listener name = " + tl.Name);
Trace.WriteLine(" type = " + tl.GetType().ToString());
}
Trace.Unindent();
Trace.WriteLine(DateTime.Now.ToString() + " - End of " + methodName);
Trace.Unindent();
}
// Define the main entry point of this class.
// The main method adds a console trace listener to the collection
// of configured trace listeners, then writes details on the current
// executing environment.
public static void Main(string[] CmdArgs)
{
// Write a trace message to all configured trace listeners.
Trace.WriteLine(DateTime.Now.ToString()+" - Start of Main");
// Define a trace listener to direct trace output from this method
// to the console.
ConsoleTraceListener consoleTracer;
// Check the command line arguments to determine which
// console stream should be used for trace output.
if ((CmdArgs.Length>0)&&(CmdArgs[0].ToString().ToLower().Equals("/stderr")))
// Initialize the console trace listener to write
// trace output to the standard error stream.
{
consoleTracer = new ConsoleTraceListener(true);
}
else
{
// Initialize the console trace listener to write
// trace output to the standard output stream.
consoleTracer = new ConsoleTraceListener();
}
// Set the name of the trace listener, which helps identify this
// particular instance within the trace listener collection.
consoleTracer.Name = "mainConsoleTracer";
// Write the initial trace message to the console trace listener.
consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Starting output to trace listener.");
// Add the new console trace listener to
// the collection of trace listeners.
Trace.Listeners.Add(consoleTracer);
// Call a local method, which writes information about the current
// execution environment to the configured trace listeners.
WriteEnvironmentInfoToTrace();
// Write the final trace message to the console trace listener.
consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Ending output to trace listener.");
// Flush any pending trace messages, remove the
// console trace listener from the collection,
// and close the console trace listener.
Trace.Flush();
Trace.Listeners.Remove(consoleTracer);
consoleTracer.Close();
// Write a final trace message to all trace listeners.
Trace.WriteLine(DateTime.Now.ToString()+" - End of Main");
// Close all other configured trace listeners.
Trace.Close();
}
}
' Define the TRACE constant, which enables trace output to the
' Trace.Listeners collection. Typically, this constant is defined
' as a compilation argument.
#Const TRACE = True
Imports System.Diagnostics
Public Class ConsoleTraceSample
' Define a simple method to write details about the current executing
' environment to the trace listener collection.
Public Shared Sub WriteEnvironmentInfoToTrace()
Dim methodName As String = "WriteEnvironmentInfoToTrace"
Trace.Indent()
Trace.WriteLine(DateTime.Now.ToString() & " - Start of " & methodName)
Trace.Indent()
' Write details on the executing environment to the trace output.
Trace.WriteLine("Operating system: " & _
System.Environment.OSVersion.ToString())
Trace.WriteLine("Computer name: " & System.Environment.MachineName)
Trace.WriteLine("User name: " & System.Environment.UserName)
Trace.WriteLine("CLR version: " & System.Environment.Version.ToString)
Trace.WriteLine("Command line: " & System.Environment.CommandLine)
' Enumerate the trace listener collection and
' display details about each configured trace listener.
Trace.WriteLine("Number of configured trace listeners = " & _
Trace.Listeners.Count.ToString())
Dim tl As TraceListener
For Each tl In Trace.Listeners
Trace.WriteLine("Trace listener name = " & tl.Name)
Trace.WriteLine(" type = " & tl.GetType().ToString())
Next tl
Trace.Unindent()
Trace.WriteLine(DateTime.Now.ToString() & " - End of " & methodName)
Trace.Unindent()
End Sub
' Define the main entry point of this class.
' The main method adds a console trace listener to the collection
' of configured trace listeners, then writes details on the current
' executing environment.
Public Shared Sub Main(ByVal CmdArgs() As String)
' Write a trace message to all configured trace listeners.
Trace.WriteLine(DateTime.Now.ToString() & " - Start of Main")
' Define a trace listener to direct trace output from this method
' to the console.
Dim consoleTracer As ConsoleTraceListener
' Check the command line arguments to determine which
' console stream should be used for trace output.
If (CmdArgs.Length > 0) AndAlso _
(CmdArgs(0).ToLower.Equals("/stderr")) Then
' Initialize the console trace listener to write
' trace output to the standard error stream.
consoleTracer = New ConsoleTraceListener(True)
Else
' Initialize the console trace listener to write
' trace output to the standard output stream.
consoleTracer = New ConsoleTraceListener
End If
' Set the name of the trace listener, which helps identify this
' particular instance within the trace listener collection.
consoleTracer.Name = "mainConsoleTracer"
' Write the initial trace message to the console trace listener.
consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
consoleTracer.Name & "] - Starting output to trace listener.")
' Add the new console trace listener to
' the collection of trace listeners.
Trace.Listeners.Add(consoleTracer)
' Call a local method, which writes information about the current
' execution environment to the configured trace listeners.
WriteEnvironmentInfoToTrace()
' Write the final trace message to the console trace listener.
consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
consoleTracer.Name & "] - Ending output to trace listener.")
' Flush any pending trace messages, remove the
' console trace listener from the collection,
' and close the console trace listener.
Trace.Flush()
Trace.Listeners.Remove(consoleTracer)
consoleTracer.Close()
' Write a final trace message to all trace listeners.
Trace.WriteLine(DateTime.Now.ToString() + " - End of Main")
' Close all other configured trace listeners.
Trace.Close()
End Sub
End Class
Kommentarer
ConsoleTraceListener Använd klassen för att skriva spårnings- och felsökningsmeddelanden till konsolen. Du kan initiera ett ConsoleTraceListener objekt för att skriva spårningsmeddelanden till Console.Out strömmen eller till Console.Error strömmen.
Important
Den här typen implementerar IDisposable gränssnittet. När du har använt typen bör du kassera den på ett direkt eller indirekt sätt. Om du vill ta bort typen direkt anropar du dess Dispose metod i etttry/catch block. Om du vill ta bort det indirekt använder du en språkkonstruktion som using (i C#) eller Using (i Visual Basic). Mer information finns i avsnittet "Använda ett objekt som implementerar IDisposable" i IDisposable gränssnittet.
När spårning och felsökning av utdata är aktiverat ConsoleTraceListener skrivs meddelandena till den angivna System.Console strömmen, vilket liknar hur meddelanden skrivs med Console.Write metoderna eller Console.WriteLine . I ett konsolprogram System.Console skriver utdata- och felströmmarna meddelanden till det befintliga konsolfönstret, eller så kan du omdirigera strömmarna till att skriva till en System.IO.TextWriter instans.
Note
Om konsolen inte finns, som i ett Windows-baserat program, visas inte meddelanden som skrivits till konsolen.
Lägg till ett ConsoleTraceListener objekt i lämplig Listeners samling om du vill att meddelanden ska skrivas via Trace, TraceSourceeller Debug skrivas till konsolen. Dessutom kan du skriva meddelanden direkt till konsolen med hjälp av Trace.Write metoderna eller Trace.WriteLine .
Note
Klasserna Debug och delar samma Trace samling, som nås via respektive TraceListenerCollectionListeners egenskaper. Om du lägger till ett ConsoleTraceListener objekt i samlingen med någon av dessa klasser använder den andra klassen automatiskt samma lyssnare.
De flesta kompilatorer aktiverar spårning och felsökning av utdata via villkorliga kompileringsflaggor. Om du inte aktiverar spårning eller felsökning ignoreras meddelandena som skrivs via System.Diagnostics.Debug klasserna och System.Diagnostics.Trace i praktiken. Syntaxen för att aktivera spårnings- och felsökningsutdata är kompilatorspecifik. Om du använder andra kompilatorer än C# eller Visual Basic läser du dokumentationen för kompilatorn.
Om du vill aktivera felsökning i C#lägger du till flaggan /d:DEBUGpå kommandoraden för kompilatorn när du kompilerar koden, eller så kan du lägga till #define DEBUG överst i filen. I Visual Basic lägger du till flaggan /d:DEBUG=True på kommandoraden för kompilatorn.
Om du vill aktivera spårning i C# lägger du till flaggan /d:TRACE på kommandoraden för kompilatorn när du kompilerar koden eller lägger till #define TRACE överst i filen. I Visual Basic lägger du till flaggan /d:TRACE=True på kommandoraden för kompilatorn.
Du kan lägga till ett ConsoleTraceListener objekt i Listeners samlingen i koden. Eller för .NET Framework-appar kan du lägga till ett ConsoleTraceListener-objekt i samlingen Listeners via programkonfigurationsfilen. ConsoleTraceListener Lägg till objektet i koden för att skriva meddelanden för ett specifikt kodavsnitt eller en körningssökväg. ConsoleTraceListener Lägg till objektet i programkonfigurationsfilen för att dirigera alla spårnings- och felsökningsmeddelanden till konsolen medan programmet körs.
Om du vill skriva spårnings- och felsökningsmeddelanden till konsolen för ett visst kodavsnitt initierar du ett ConsoleTraceListener objekt och lägger till det i Listeners samlingen. Instrumentera det kodavsnitt som innehåller meddelanden med hjälp av klasserna Trace eller Debug . I slutet av kodavsnittet tar du bort ConsoleTraceListener objektet från Listeners samlingen och anropar Close metoden på ConsoleTraceListener.
För .NET Framework-appar lägger du till ett ConsoleTraceListener-objekt i programkonfigurationsfilen för att dirigera alla spårnings- och felsökningsmeddelanden till konsolen medan programmet körs. I följande exempel läggs ett ConsoleTraceListener objekt med namnet configConsoleListener till Listeners samlingen.
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Mer information om hur du lägger till spårningslyssnare i programkonfigurationsfilen <finns i lyssnare>.
Konstruktorer
| Name | Description |
|---|---|
| ConsoleTraceListener() |
Initierar en ny instans av ConsoleTraceListener klassen med spårningsutdata skrivna till standardutdataströmmen. |
| ConsoleTraceListener(Boolean) |
Initierar en ny instans av ConsoleTraceListener klassen med ett alternativ för att skriva spårningsutdata till standardutdataströmmen eller standardfelströmmen. |
Egenskaper
| Name | Description |
|---|---|
| Attributes |
Hämtar attributen för anpassad spårningslyssnare som definierats i programkonfigurationsfilen. (Ärvd från TraceListener) |
| Filter |
Hämtar eller anger spårningsfiltret för spårningslyssnaren. (Ärvd från TraceListener) |
| IndentLevel |
Hämtar eller anger indragsnivån. (Ärvd från TraceListener) |
| IndentSize |
Hämtar eller anger antalet blanksteg i ett indrag. (Ärvd från TraceListener) |
| IsThreadSafe |
Hämtar ett värde som anger om spårningslyssnaren är trådsäker. (Ärvd från TraceListener) |
| Name |
Hämtar eller anger ett namn för den här TraceListener. (Ärvd från TraceListener) |
| NeedIndent |
Hämtar eller anger ett värde som anger om utdata ska dras in. (Ärvd från TraceListener) |
| TraceOutputOptions |
Hämtar eller anger alternativen för spårningsutdata. (Ärvd från TraceListener) |
| Writer |
Hämtar eller anger den textskrivare som tar emot spårnings- eller felsökningsutdata. (Ärvd från TextWriterTraceListener) |
Metoder
| Name | Description |
|---|---|
| Close() |
Stänger utdata till den dataström som angetts för den här spårningslyssnaren. |
| Close() |
Writer Stänger så att den inte längre tar emot spårning eller felsökning av utdata. (Ärvd från TextWriterTraceListener) |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| Dispose() |
Släpper alla resurser som används av TraceListener. (Ärvd från TraceListener) |
| Dispose(Boolean) |
Bortser från det här TextWriterTraceListener objektet. (Ärvd från TextWriterTraceListener) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Fail(String, String) |
Genererar ett felmeddelande och ett detaljerat felmeddelande till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Fail(String) |
Genererar ett felmeddelande till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Flush() |
Tömer utdatabufferten Writerför . (Ärvd från TextWriterTraceListener) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetLifetimeService() |
Föråldrad.
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetSupportedAttributes() |
Hämtar anpassade attribut som stöds av spårningslyssnaren. (Ärvd från TraceListener) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InitializeLifetimeService() |
Föråldrad.
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Skriver spårningsinformation, ett dataobjekt och händelseinformation till lyssnarens specifika utdata. (Ärvd från TraceListener) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Skriver spårningsinformation, en matris med dataobjekt och händelseinformation till lyssnarens specifika utdata. (Ärvd från TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Skriver spårningsinformation, en formaterad matris med objekt och händelseinformation till lyssnarens specifika utdata. (Ärvd från TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Skriver spårningsinformation, ett meddelande och händelseinformation till lyssnarens specifika utdata. (Ärvd från TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Skriver spårnings- och händelseinformation till lyssnarens specifika utdata. (Ärvd från TraceListener) |
| TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Skriver spårningsinformation, ett meddelande, en relaterad aktivitetsidentitet och händelseinformation till lyssnarens specifika utdata. (Ärvd från TraceListener) |
| Write(Object, String) |
Skriver ett kategorinamn och värdet för objektets ToString() metod till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Write(Object) |
Skriver värdet för objektets ToString() -metod till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Write(String, String) |
Skriver ett kategorinamn och ett meddelande till lyssnaren som du skapar när du implementerar TraceListener klassen. (Ärvd från TraceListener) |
| Write(String) |
Skriver ett meddelande till den här instansens Writer. (Ärvd från TextWriterTraceListener) |
| WriteIndent() |
Skriver indraget till lyssnaren som du skapar när du implementerar den här klassen och återställer NeedIndent egenskapen till |
| WriteLine(Object, String) |
Skriver ett kategorinamn och värdet för objektets ToString() metod till lyssnaren som du skapar när du implementerar TraceListener klassen, följt av en radavgränsare. (Ärvd från TraceListener) |
| WriteLine(Object) |
Skriver värdet för objektets ToString() -metod till lyssnaren du skapar när du implementerar TraceListener klassen, följt av en radavslutare. (Ärvd från TraceListener) |
| WriteLine(String, String) |
Skriver ett kategorinamn och ett meddelande till lyssnaren som du skapar när du implementerar TraceListener klassen, följt av en radavgränsare. (Ärvd från TraceListener) |
| WriteLine(String) |
Skriver ett meddelande till den här instansen Writer följt av en radavgränsare. Standardlinjens avslutare är en vagnretur följt av en radmatning (\r\n). (Ärvd från TextWriterTraceListener) |