ConsoleTraceListener Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Направляет вывод трассировки или отладки либо в стандартный поток вывода, либо в стандартный поток ошибок.
public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
- Наследование
Примеры
В следующем примере кода реализуется консольное приложение, состоящее из класса с двумя открытыми методами.
Метод Main проверяет аргументы командной строки и определяет, следует ли направлять выходные данные трассировки в стандартный поток ошибок или стандартный выходной поток.
Main создает и инициализирует ConsoleTraceListener объект для указанного Console выходного потока и добавляет этот объект в коллекцию прослушивателя трассировки. Затем он вызывает WriteEnvironmentInfoToTrace метод, который записывает сведения о среде выполнения и конфигурации прослушивателя трассировки в выходные данные трассировки.
При запуске примера приложения сведения о среде и конфигурации трассировки записываются в указанный поток выходных данных консоли через ConsoleTraceListener объект.
// 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
Комментарии
ConsoleTraceListener Используйте класс для записи сообщений трассировки и отладки в консоль. Можно инициализировать ConsoleTraceListener объект для записи сообщений трассировки в Console.Out поток или Console.Error в поток.
Important
Этот тип реализует IDisposable интерфейс. Завершив использование типа, следует избавиться от него напрямую или косвенно. Чтобы удалить тип напрямую, вызовите его Dispose метод в блокеtry/catch . Чтобы удалить его косвенно, используйте конструкцию языка, например using (в C#) или Using (в Visual Basic). Дополнительные сведения см. в разделе "Использование объекта, реализующего IDisposable" в IDisposable разделе интерфейса.
При включении ConsoleTraceListener выходных данных трассировки и отладки сообщения записываются в указанный System.Console поток, аналогичный тому, как сообщения записываются с помощью Console.Write методов или Console.WriteLine методов. В консольном приложении System.Console выходные данные и потоки ошибок записывают сообщения в существующее окно консоли или перенаправляют потоки для записи в System.IO.TextWriter экземпляр.
Note
Если консоль не существует, как в приложении на основе Windows, сообщения, записанные в консоль, не отображаются.
Добавьте объект в соответствующую ConsoleTraceListenerListeners коллекцию, если требуется, чтобы сообщения записылись через TraceTraceSourceконсоль или Debug записываются в консоль. Кроме того, вы можете записывать сообщения непосредственно в консоль с помощью Trace.Write методов или Trace.WriteLine методов.
Note
Debug Классы Trace используют одну и ту же TraceListenerCollection коллекцию, к которым обращаются соответствующие Listeners свойства. При добавлении ConsoleTraceListener объекта в коллекцию с помощью одного из этих классов другой класс автоматически использует тот же прослушиватель.
Большинство компиляторов позволяют выполнять трассировку и отладку выходных данных с помощью флагов условной компиляции. Если вы не включаете трассировку или отладку, сообщения, написанные с помощью System.Diagnostics.DebugSystem.Diagnostics.Trace классов, фактически игнорируются. Синтаксис для включения выходных данных трассировки и отладки зависит от компилятора; Если вы используете компиляторы, отличные от C# или Visual Basic, обратитесь к документации для компилятора.
Чтобы включить отладку в C#, добавьте флаг /d:DEBUGв командную строку компилятора при компиляции кода или добавьте #define DEBUG в начало файла. В Visual Basic добавьте флаг /d:DEBUG=True в командную строку компилятора.
Чтобы включить трассировку в C#, добавьте флаг /d:TRACE в командную строку компилятора при компиляции кода или добавьте #define TRACE в начало файла. В Visual Basic добавьте флаг /d:TRACE=True в командную строку компилятора.
Объект можно добавить ConsoleTraceListener в коллекцию Listeners в коде. Кроме того, для приложений .NET Framework можно добавить объект ConsoleTraceListener в коллекцию Listeners через файл конфигурации приложения. ConsoleTraceListener Добавьте объект в код для записи сообщений для определенного раздела кода или пути выполнения. ConsoleTraceListener Добавьте объект в файл конфигурации приложения, чтобы направлять все сообщения трассировки и отладки в консоль во время выполнения приложения.
Чтобы записать в консоль сообщения трассировки и отладки для определенного раздела кода, инициализировать ConsoleTraceListener объект и добавить его в коллекцию Listeners . Инструментирование раздела кода, содержащего сообщения с помощью Trace или Debug классов. В конце раздела кода удалите ConsoleTraceListener объект из Listeners коллекции и вызовите Close метод в разделе ConsoleTraceListenerкода.
Для приложений .NET Framework для перенаправления всех сообщений трассировки и отладки в консоль во время выполнения приложения добавьте объект ConsoleTraceListener в файл конфигурации приложения. В следующем примере добавляется ConsoleTraceListener объект с именем configConsoleListener в коллекцию Listeners .
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Дополнительные сведения о добавлении прослушивателей трассировки в файл конфигурации приложения см. в разделе< прослушивателей>.
Конструкторы
| Имя | Описание |
|---|---|
| ConsoleTraceListener() |
Инициализирует новый экземпляр ConsoleTraceListener класса с выходными данными трассировки, записанными в стандартный выходной поток. |
| ConsoleTraceListener(Boolean) |
Инициализирует новый экземпляр ConsoleTraceListener класса с возможностью записи выходных данных трассировки в стандартный выходной поток или стандартный поток ошибок. |
Свойства
| Имя | Описание |
|---|---|
| Attributes |
Возвращает атрибуты пользовательского прослушивателя трассировки, определенные в файле конфигурации приложения. (Унаследовано от TraceListener) |
| Filter |
Возвращает или задает фильтр трассировки для прослушивателя трассировки. (Унаследовано от TraceListener) |
| IndentLevel |
Возвращает или задает уровень отступа. (Унаследовано от TraceListener) |
| IndentSize |
Возвращает или задает количество пробелов в отступе. (Унаследовано от TraceListener) |
| IsThreadSafe |
Возвращает значение, указывающее, является ли прослушиватель трассировки потокобезопасной. (Унаследовано от TraceListener) |
| Name |
Возвращает или задает имя для этого TraceListener. (Унаследовано от TraceListener) |
| NeedIndent |
Возвращает или задает значение, указывающее, следует ли отступить выходные данные. (Унаследовано от TraceListener) |
| TraceOutputOptions |
Возвращает или задает параметры выходных данных трассировки. (Унаследовано от TraceListener) |
| Writer |
Возвращает или задает средство записи текста, получающее выходные данные трассировки или отладки. (Унаследовано от TextWriterTraceListener) |
Методы
| Имя | Описание |
|---|---|
| Close() |
Закрывает выходные данные в поток, указанный для этого прослушивателя трассировки. |
| Close() |
Закрывает таким Writer образом, чтобы он больше не получал выходные данные трассировки или отладки. (Унаследовано от TextWriterTraceListener) |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| Dispose() |
Освобождает все ресурсы, используемые параметром TraceListener. (Унаследовано от TraceListener) |
| Dispose(Boolean) |
Удаляет этот TextWriterTraceListener объект. (Унаследовано от TextWriterTraceListener) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Fail(String, String) |
Выдает сообщение об ошибке и подробное сообщение об ошибке прослушивателю, создаваемому TraceListener при реализации класса. (Унаследовано от TraceListener) |
| Fail(String) |
Выдает сообщение об ошибке прослушивателю, создаваемому при реализации TraceListener класса. (Унаследовано от TraceListener) |
| Flush() |
Очищает выходной буфер для Writer. (Унаследовано от TextWriterTraceListener) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLifetimeService() |
Устаревшие.
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetSupportedAttributes() |
Возвращает настраиваемые атрибуты, поддерживаемые прослушивателем трассировки. (Унаследовано от TraceListener) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Устаревшие.
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Записывает сведения трассировки, объект данных и сведения о событии в конкретный выход прослушивателя. (Унаследовано от TraceListener) |
| TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Записывает сведения трассировки, массив объектов данных и сведений о событиях в конкретный выходной объект прослушивателя. (Унаследовано от TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Записывает сведения трассировки, форматированный массив объектов и сведений о событиях в конкретный выходной объект прослушивателя. (Унаследовано от TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Записывает сведения трассировки, сообщение и сведения о событии в конкретный выход прослушивателя. (Унаследовано от TraceListener) |
| TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Записывает данные трассировки и события в конкретный выход прослушивателя. (Унаследовано от TraceListener) |
| TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Записывает сведения трассировки, сообщение, связанное удостоверение действия и сведения о событиях прослушивателя в определенные выходные данные прослушивателя. (Унаследовано от TraceListener) |
| Write(Object, String) |
Записывает имя категории и значение метода объекта ToString() в прослушиватель, который вы создаете при реализации TraceListener класса. (Унаследовано от TraceListener) |
| Write(Object) |
Записывает значение метода объекта ToString() в прослушиватель, который вы создаете при реализации TraceListener класса. (Унаследовано от TraceListener) |
| Write(String, String) |
Записывает имя категории и сообщение прослушивателя, создаваемого TraceListener при реализации класса. (Унаследовано от TraceListener) |
| Write(String) |
Записывает сообщение в этот экземпляр Writer. (Унаследовано от TextWriterTraceListener) |
| WriteIndent() |
Записывает отступ в прослушиватель, который вы создаете при реализации этого класса, и сбрасывает свойство NeedIndentв |
| WriteLine(Object, String) |
Записывает имя категории и значение метода объекта ToString() в прослушиватель, который вы создаете при реализации TraceListener класса, за которым следует терминатор строки. (Унаследовано от TraceListener) |
| WriteLine(Object) |
Записывает значение метода объекта ToString() в прослушиватель, который создается при реализации TraceListener класса, за которым следует терминатор строки. (Унаследовано от TraceListener) |
| WriteLine(String, String) |
Записывает имя категории и сообщение прослушивателю, созданному при реализации TraceListener класса, за которым следует терминатор строки. (Унаследовано от TraceListener) |
| WriteLine(String) |
Записывает сообщение в экземпляр Writer , за которым следует терминатор строки. Терминатор строки по умолчанию — это возврат каретки, за которой следует канал строки (\r\n). (Унаследовано от TextWriterTraceListener) |