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 /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 и How to: Create, Initialize и Configure Trace Switchs.
Целевой объект трассировки можно настроить, добавив TraceListener экземпляры в коллекцию или удалив экземпляры Listeners . Коллекция Listeners разделяется как классами, так Debug и Trace классами; добавление прослушивателя трассировки в любой класс добавляет прослушиватель в оба класса. По умолчанию выходные данные трассировки создаются с помощью DefaultTraceListener класса.
Note
Добавление прослушивателя трассировки в Listeners коллекцию может привести к возникновению исключения во время трассировки, если ресурс, используемый прослушивателем трассировки, недоступен. Условия и исключение, которые возникают, зависят от прослушивателя трассировки и не могут быть перечислены в этом разделе. Может быть полезно разместить вызовы Trace методов в try/catch блоках для обнаружения и обработки исключений из прослушивателей трассировки.
Note
Если вы добавляете прослушиватели трассировки в частично доверенный SecurityException код, вы получите исключение, так как для добавления прослушивателей трассировки требуется UnmanagedCode разрешение. Чтобы трассировать частично доверенный код, работающий в песочнице в Visual Studio, не добавляйте прослушиватели трассировки. Вместо этого просмотрите Trace и Debug сообщения в окне вывода .
Класс Trace предоставляет свойства для получения или задания уровня Indent и IndentSizeтого, следует AutoFlush ли выполнять после каждой записи.
В приложениях .NET Framework можно задать AutoFlush и IndentSize для Trace, изменив файл конфигурации, соответствующий имени приложения. Файл конфигурации должен быть отформатирован следующим образом:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
Атрибут ConditionalAttribute применяется к методам Trace. Компиляторы, поддерживающие ConditionalAttribute игнорировать вызовы этих методов, если TRACE не определен как символ условной компиляции. Ознакомьтесь с документацией компилятора, чтобы определить, поддерживается ли ConditionalAttribute поддержка и синтаксис для определения символа условной компиляции.
Note
По умолчанию в проектах Visual Studio символ условной компиляции DEBUG определяется для отладочных сборок, а символ TRACE определяется как для отладки, так и для сборок выпуска.
Чтобы определить символ условной TRACE компиляции в C#, добавьте /d:TRACE параметр в командную строку компилятора при компиляции кода с помощью командной строки или добавьте #define TRACE в начало файла. В Visual Basic добавьте /d:TRACE=True параметр в командную строку компилятора или добавьте #Const TRACE=True в файл.
ConditionalAttribute не поддерживается компилятором C++. Чтобы обеспечить эквивалентную функциональность, необходимо заключить вызовы к методам Trace блока и добавить #if defined(TRACE) ... #endif параметр в /DTRACE командную строку компилятора или добавить #define TRACE в файл.
Свойства
| Имя | Описание |
|---|---|
| AutoFlush |
Возвращает или задает, следует ли Flush() вызывать после каждой Listeners записи. |
| CorrelationManager |
Возвращает диспетчер корреляции для потока для этой трассировки. |
| IndentLevel |
Возвращает или задает уровень отступа. |
| IndentSize |
Возвращает или задает количество пробелов в отступе. |
| Listeners |
Возвращает коллекцию прослушивателей, отслеживающих выходные данные трассировки. |
| UseGlobalLock |
Возвращает или задает значение, указывающее, следует ли использовать глобальную блокировку. |
Методы
| Имя | Описание |
|---|---|
| Assert(Boolean, String, String) |
Проверка условия; Если условие равно |
| Assert(Boolean, String) |
Проверка условия; Если условие равно |
| Assert(Boolean) |
Проверка условия; Если условие задано |
| Close() |
Очищает выходной буфер, а затем закрывается Listeners. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Fail(String, String) |
Выдает сообщение об ошибке и подробное сообщение об ошибке. |
| Fail(String) |
Выдает указанное сообщение об ошибке. |
| Flush() |
Очищает выходной буфер и приводит к записи буферных данных в буфер Listeners. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| Indent() |
Увеличивает текущий IndentLevel на один. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Refresh() |
Обновляет данные конфигурации трассировки. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| TraceError(String, Object[]) |
Записывает сообщение об ошибке в прослушиватели трассировки в Listeners коллекции с помощью указанного массива объектов и сведений о форматировании. |
| TraceError(String) |
Записывает сообщение об ошибке в прослушиватели трассировки в Listeners коллекции с помощью указанного сообщения. |
| TraceInformation(String, Object[]) |
Записывает информационное сообщение в прослушиватели трассировки в Listeners коллекции с помощью указанного массива объектов и сведений о форматировании. |
| TraceInformation(String) |
Записывает информационное сообщение в прослушиватели трассировки в Listeners коллекции с помощью указанного сообщения. |
| TraceWarning(String, Object[]) |
Записывает предупреждение в прослушиватели трассировки в Listeners коллекции с помощью указанного массива объектов и сведений о форматировании. |
| TraceWarning(String) |
Записывает предупреждение в прослушиватели трассировки в Listeners коллекции с помощью указанного сообщения. |
| Unindent() |
Уменьшает текущий IndentLevel на один. |
| Write(Object, String) |
Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции. |
| Write(Object) |
Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции. |
| Write(String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции. |
| Write(String) |
Записывает сообщение в прослушиватели трассировки в Listeners коллекции. |
| WriteIf(Boolean, Object, String) |
Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в коллекции, Listeners если условие равно |
| WriteIf(Boolean, Object) |
Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции, если условие . |
| WriteIf(Boolean, String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции, если условие. |
| WriteIf(Boolean, String) |
Записывает сообщение в прослушиватели трассировки в коллекции, Listeners если условие равно |
| WriteLine(Object, String) |
Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции. |
| WriteLine(Object) |
Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции. |
| WriteLine(String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции. |
| WriteLine(String) |
Записывает сообщение в прослушиватели трассировки в Listeners коллекции. |
| WriteLineIf(Boolean, Object, String) |
Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в коллекции, Listeners если условие равно |
| WriteLineIf(Boolean, Object) |
Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции, если условие . |
| WriteLineIf(Boolean, String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции, если условие. |
| WriteLineIf(Boolean, String) |
Записывает сообщение в прослушиватели трассировки в коллекции, Listeners если условие равно |
События
| Имя | Описание |
|---|---|
| Refreshing |
Возникает при TraceSource необходимости обновления из конфигурации. |
Применяется к
Потокобезопасность
Этот тип является потокобезопасной.