Trace Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет набор методов и свойств, используемых при трассировке выполнения кода. Этот класс не наследуется.
public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
- Наследование
-
Trace
Примеры
В следующем примере используется Trace для указания начала и окончания выполнения программы. В примере также используются методы Trace.Indent и Trace.Unindent для различения выходных данных трассировки. Более полный пример использования см. Traceв разделе Практическое руководство. Добавление операторов трассировки в код приложения.
// Specify /DTRACE when compiling.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
int main()
{
#if defined(TRACE)
Trace::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
Trace::AutoFlush = true;
Trace::Indent();
Trace::WriteLine( "Entering Main" );
#endif
Console::WriteLine( "Hello World." );
#if defined(TRACE)
Trace::WriteLine( "Exiting Main" );
Trace::Unindent();
#endif
return 0;
}
// Specify /d:TRACE when compiling.
using System;
using System.Diagnostics;
class Test
{
static void Main()
{
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
Trace.AutoFlush = true;
Trace.Indent();
Trace.WriteLine("Entering Main");
Console.WriteLine("Hello World.");
Trace.WriteLine("Exiting Main");
Trace.Unindent();
}
}
' Specify /d:TRACE=True when compiling.
Imports System.Diagnostics
Class Test
Shared Sub Main()
Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
Trace.AutoFlush = True
Trace.Indent()
Trace.WriteLine("Entering Main")
Console.WriteLine("Hello World.")
Trace.WriteLine("Exiting Main")
Trace.Unindent()
End Sub
End Class
Комментарии
Свойства и методы в Trace классе можно использовать для инструментирования сборок выпуска. Инструментирование позволяет отслеживать работоспособность приложения, работающего в реальных параметрах. Трассировка помогает изолировать проблемы и устранять их, не нарушая работу системы.
Этот класс предоставляет методы для отображения диалогового Assert окна и для выдачи утверждения, которое всегда Failбудет . Этот класс предоставляет методы записи в следующих вариантах:
Классы BooleanSwitch и TraceSwitch предоставляют средства для динамического управления выходными данными трассировки. В платформа .NET Framework приложениях можно изменять значения этих параметров без перекомпиляции приложения. Сведения об использовании файла конфигурации для установки коммутатора в приложении платформа .NET Framework смSwitch. в разделе Класс и Практическое руководство. Create, инициализация и настройка параметров трассировки.
Вы можете настроить целевой объект выходных данных трассировки, добавив TraceListener экземпляры в коллекцию Listeners или удалив их из коллекции. Коллекция Listeners совместно используется классами Debug и Trace ; добавление прослушивателя трассировки в любой класс добавляет прослушиватель к обоим классам. По умолчанию выходные данные трассировки создаются с помощью DefaultTraceListener класса .
Примечание
Добавление прослушивателя трассировки в Listeners коллекцию может привести к возникновению исключения при трассировке, если ресурс, используемый прослушивателем трассировки, недоступен. Условия и вызываемое исключение зависят от прослушивателя трассировки и не могут быть перечислены в этом разделе. Может быть полезно размещать вызовы Trace методов в try
/catch
блоках для обнаружения и обработки исключений из прослушивателей трассировки.
Примечание
При добавлении прослушивателей трассировки в код с частичным доверием SecurityException возникнет исключение, так как для добавления прослушивателей трассировки требуется UnmanagedCode разрешение. Чтобы отследить частично доверенный код, выполняемый в песочнице в Visual Studio, не добавляйте прослушиватели трассировки. Вместо этого просмотрите Trace сообщения и Debug в окне Вывод .
Класс Trace предоставляет свойства для получения или задания уровня и IndentSize, а также того, следует ли выполнять AutoFlush после каждой Indent записи.
В платформа .NET Framework приложениях можно задать AutoFlush и IndentSize дляTrace, изменив файл конфигурации, соответствующий имени приложения. Файл конфигурации должен быть отформатирован, как показано в следующем примере:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
Атрибут ConditionalAttribute применяется к методам .Trace Компиляторы, поддерживающие ConditionalAttribute , игнорируют вызовы этих методов, если TRACE
не определен как символ условной компиляции. Сведения о поддержке и синтаксисе для определения символа условной компиляции см. в документации ConditionalAttribute компилятора.
Примечание
В проектах Visual Studio по умолчанию символ условной DEBUG
компиляции определяется для отладочных сборок, а TRACE
символ — для отладочных сборок и сборок выпуска.
Чтобы определить символ условной TRACE
компиляции в C#, добавьте /d:TRACE
параметр в командную строку компилятора при компиляции кода с помощью командной строки или добавьте #define TRACE
в начало файла. В Visual Basic добавьте параметр в /d:TRACE=True
командную строку компилятора или добавьте #Const TRACE=True
в файл .
ConditionalAttribute не поддерживается компилятором C++. Чтобы обеспечить эквивалентные функциональные возможности, необходимо заключить вызовы методов Trace в блок и добавить /DTRACE
параметр в #if defined(TRACE) ... #endif
командную строку компилятора или добавить #define TRACE
в файл .
Свойства
AutoFlush |
Возвращает или задает вызов Flush() в Listeners после каждой операции записи. |
CorrelationManager |
Получает диспетчер корреляции для потока для данной трассировки. |
IndentLevel |
Возвращает или задает уровень отступа. |
IndentSize |
Возвращает или задает число пробелов в отступе. |
Listeners |
Получает коллекцию прослушивателей, отслеживающую выходные данные трассировки. |
UseGlobalLock |
Получает или задает значение, указывающее, следует ли использовать глобальную блокировку. |
Методы
Assert(Boolean) |
Проверяет условие. Если условие имеет значение |
Assert(Boolean, String) |
Проверяет условие. Если условие имеет значение |
Assert(Boolean, String, String) |
Проверяет условие. Если условие имеет значение |
Close() |
Очищает выходной буфер, а затем закрывает Listeners. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Fail(String) |
Выдает указанное сообщение об ошибке. |
Fail(String, String) |
Выдает сообщение об ошибке и подробное сообщение об ошибке. |
Flush() |
Очищает выходной буфер и вызывает запись буферизованных данных в Listeners. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Indent() |
Увеличивает текущее значение IndentLevel на единицу. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Refresh() |
Обновляет данные конфигурации трассировки. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TraceError(String) |
Записывает сообщение об ошибке в прослушиватели трассировки в коллекции Listeners, используя указанное сообщение. |
TraceError(String, Object[]) |
Записывает сообщение об ошибке в прослушиватели трассировки в коллекции Listeners, используя для этого указанный массив объектов и сведения о форматировании. |
TraceInformation(String) |
Записывает информационное сообщение в прослушиватели трассировки коллекции Listeners, используя для этого указанное сообщение. |
TraceInformation(String, Object[]) |
Записывает информационное сообщение в прослушиватели трассировки в коллекции Listeners, используя для этого указанный массив объектов и сведения о форматировании. |
TraceWarning(String) |
Записывает предупреждение в прослушиватели трассировки в коллекции Listeners, используя указанное сообщение. |
TraceWarning(String, Object[]) |
Записывает предупреждение в прослушиватели трассировки в коллекции Listeners, используя для этого указанный массив объектов и сведения о форматировании. |
Unindent() |
Уменьшает текущее значение IndentLevel на единицу. |
Write(Object) |
Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners. |
Write(Object, String) |
Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners. |
Write(String) |
Записывает сообщение в прослушиватели трассировки в коллекции Listeners. |
Write(String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners. |
WriteIf(Boolean, Object) |
Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если условие — |
WriteIf(Boolean, Object, String) |
Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если задано условие |
WriteIf(Boolean, String) |
Записывает сообщение в прослушиватели трассировки в коллекции Listeners, если задано условие |
WriteIf(Boolean, String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners, если условие равно |
WriteLine(Object) |
Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners. |
WriteLine(Object, String) |
Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners. |
WriteLine(String) |
Записывает сообщение в прослушиватели трассировки в коллекции Listeners. |
WriteLine(String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners. |
WriteLineIf(Boolean, Object) |
Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если условие — |
WriteLineIf(Boolean, Object, String) |
Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если задано условие |
WriteLineIf(Boolean, String) |
Записывает сообщение в прослушиватели трассировки в коллекции Listeners, если задано условие |
WriteLineIf(Boolean, String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners, если условие равно |
События
Refreshing |
Происходит, TraceSource когда требуется обновить из конфигурации. |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.