FileLogTraceListener Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет простой прослушиватель, который направляет вывод журнала в файл.
public ref class FileLogTraceListener : System::Diagnostics::TraceListener
[System.Runtime.InteropServices.ComVisible(false)]
public class FileLogTraceListener : System.Diagnostics.TraceListener
[<System.Runtime.InteropServices.ComVisible(false)>]
type FileLogTraceListener = class
inherit TraceListener
Public Class FileLogTraceListener
Inherits TraceListener
- Наследование
- Атрибуты
Комментарии
Класс FileLogTraceListener предоставляет возможности автоматического обслуживания для архивации файлов журналов по мере необходимости на ежедневной основе или для каждого приложения. Эта функция автоматической архивации помогает сократить обязанности разработчиков и администраторов по обслуживанию.
Экземпляр FileLogTraceListener можно добавить в Debug.Listeners коллекции или для Trace.Listeners перенаправления выходных данных из журнала в текстовый файл. Экземпляры этого класса также можно добавить в My.Application.Log
приложения Visual Basic или My.Log
(для веб-приложений). Для получения дополнительной информации см. Walkthrough: Changing Where My.Application.Log Writes Information.
Ниже перечислены main функции этого класса.
Функции архивации. Файлы журнала, созданные этим классом, именуются в соответствии с базовым именем и датой, а также числом, чтобы отличать файл журнала от последовательных версий журнала. Новые файлы журналов создаются по мере необходимости.
Явное имя файла —
baseName
[-dateStamp
][-version
].log, где:Часть
baseName
— это основное имя журнала, заданное свойством BaseFileName .Часть
dateStamp
имеет формат "ГГГГ-ММ-ДД" и отображается, когда LogFileCreationSchedule имеет значение Daily или Weekly.Если требуется несколько файлов журнала с одним и тем же
baseName
иdateStamp
,version
к имени файла добавляется часть , положительнаяInteger
.
Несколько экземпляров класса. Если экземпляр FileLogTraceListener класса выполняет запись в используемый файл:
Класс предоставляет общий доступ к файлу, если он используется другим экземпляром FileLogTraceListener класса в том же процессе.
Класс создает новый файл журнала, используя следующее доступное имя, если файл используется другим процессом.
Потокобезопасность. Класс FileLogTraceListener является потокобезопасным. Это позволяет безопасно записывать сообщения в журнал из нескольких потоков без использования блокировок.
Расположение файла журнала
Свойство Location принимает перечисление LogFileLocation для указания одного из типичных каталогов для записи файла журнала.
Чтобы записать журнал в другое расположение, задайте для CustomLocation свойства это расположение.
Имя файла журнала
Базовое имя файла журнала указывается свойством BaseFileName .
Текущее имя файла журнала можно считать из FullLogFileName свойства . Он является производным от нескольких других свойств и текущего состояния журналов в файловой системе.
Обслуживание журналов
Минимальная частота создания новых файлов журнала определяется свойством LogFileCreationSchedule . Если значение равно Daily или Weekly, новый файл журнала создается по крайней мере один раз в день или неделю, а метка даты включается в FullLogFileName имя.
Максимальный размер (в байтах) файла журнала определяется свойством MaxFileSize . Если размер файла журнала превышает этот размер, дополнительные сообщения, записанные в журнал, удаляются и, в зависимости DiskSpaceExhaustedBehavior от свойства, создается исключение.
Свойство ReserveDiskSpace определяет, сколько свободного места (в байтах) должно быть доступно. Это гарантирует, что FileLogTraceListener класс не будет потреблять все доступное дисковое пространство. Используйте свойство , DiskSpaceExhaustedBehavior чтобы указать поведение операций записи в журнал при наличии меньше ReserveDiskSpace байтов.
Параметры вывода файла журнала
Свойство AutoFlush указывает, следует ли автоматически очищать базовый поток после каждой записи в файл журнала.
Свойство Append указывает, следует ли добавлять сообщения в текущий файл журнала, если это разрешено, или записывать их в новый файл журнала.
Свойство Delimiter задает строку, используемую для разделения полей в сообщении журнала.
Свойство Encoding задает кодировку, используемую при создании нового файла журнала.
Выходные данные файла журнала
Методы TraceData и TraceEvent записывают сообщения в файл журнала. Эти методы проверка LogFileCreationSchedule свойство вместе с существующими журналами с тем же базовым именем, чтобы определить, следует ли создавать новый журнал.
Метод Flush сбрасывает все сообщения, находящиеся в буфере вывода, в файл журнала.
Метод Close закрывает файл журнала, чтобы его могли использовать другие процессы.
Включение выходных данных
Для использования прослушивателя трассировки необходимо включить трассировку или отладку. Следующий синтаксис зависит от компилятора. Если вы используете компиляторы, отличные от C# или Visual Basic, обратитесь к документации по компилятору.
Чтобы включить отладку
/d:DEBUG
в C#, добавьте флаг в командную строку компилятора при компиляции кода или добавьте#define DEBUG
в начало файла. В Visual Basic добавьте/d:DEBUG=True
флаг в командную строку компилятора.Чтобы включить трассировку в C#, добавьте
/d:TRACE
флаг в командную строку компилятора при компиляции кода или добавьте#define TRACE
в начало файла. В Visual Basic добавьте/d:TRACE=True
флаг в командную строку компилятора.
В платформа .NET Framework приложениях можно задать уровень прослушивателя, изменив файл конфигурации для приложения. В этом файле можно добавить прослушиватель, задать его тип и параметры, удалить прослушиватель или очистить все прослушиватели, ранее заданные приложением. Файл конфигурации должен быть отформатирован, как показано в следующем примере.
<configuration>
<system.diagnostics>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
</sharedListeners>
</system.diagnostics>
</configuration>
Для выполнения этого примера необходимо указать полное имя сборки. Сведения о том, как получить полное имя сборки, см. в разделе Имена сборок.
Конструкторы
FileLogTraceListener() |
Инициализирует новый экземпляр класса FileLogTraceListener с именем, используемым по умолчанию. |
FileLogTraceListener(String) |
Инициализирует новый экземпляр класса FileLogTraceListener с использованием предоставленного имени. |
Свойства
Append |
Определяет, следует ли добавить выходные данные в текущий файл или следует записать их в новый или существующий файл. |
Attributes |
Возвращает настраиваемые атрибуты прослушивателя трассировки, определенные в файле конфигурации приложения. (Унаследовано от TraceListener) |
AutoFlush |
Указывает, очищается ли буфер при записи в файл журнала. |
BaseFileName |
Получает или задает базовое имя файлов журнала, используемое для создания полного имени файлов журнала. |
CustomLocation |
Получает или задает каталог файлов журнала, если для свойства Location задано значение Custom. |
Delimiter |
Получает или задает разделитель, используемый для разделения полей в сообщении журнала. |
DiskSpaceExhaustedBehavior |
Определяет, что делать при выполнении записи в файл журнала, когда на диске осталось меньше свободного места, чем указано в свойстве ReserveDiskSpace. |
Encoding |
Получает или задает кодировку, которая должна использоваться при создании нового файла журнала. |
Filter |
Получает или задает фильтр трассировки для прослушивателя трассировки. (Унаследовано от TraceListener) |
FullLogFileName |
Получает текущее полное имя файла журнала. |
IncludeHostName |
Указывает, следует ли включать в выходные данные имя сайта компьютера, на котором ведется журнал. |
IndentLevel |
Возвращает или задает уровень отступа. (Унаследовано от TraceListener) |
IndentSize |
Возвращает или задает число пробелов в отступе. (Унаследовано от TraceListener) |
IsThreadSafe |
Возвращает значение, указывающее, является ли прослушиватель трассировки потокобезопасным. (Унаследовано от TraceListener) |
Location |
Получает или задает расположение файлов журнала. |
LogFileCreationSchedule |
Определяет, какую дату включать в имена файлов журнала. |
MaxFileSize |
Получает или задает максимальный допустимый размер файла журнала (в байтах). |
Name |
Возвращает или задает имя для данного TraceListener. (Унаследовано от TraceListener) |
NeedIndent |
Возвращает или задает значение, указывающее, нужен ли отступ в выходных данных. (Унаследовано от TraceListener) |
ReserveDiskSpace |
Получает или задает объем необходимого свободного дискового пространства в байтах перед записью сообщений в файл журнала. |
TraceOutputOptions |
Возвращает или задает параметры выходных данных трассировки. (Унаследовано от TraceListener) |
Методы
Close() |
Закрывает основной поток для текущего файла журнала и освобождает все ресурсы, связанные с текущим потоком. |
CreateObjRef(Type) |
Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
Dispose() |
Освобождает все ресурсы, занятые модулем TraceListener. (Унаследовано от TraceListener) |
Dispose(Boolean) |
Закрывает основной поток и при необходимости освобождает управляемые ресурсы. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Fail(String) |
Посылает сообщение об ошибке в прослушиватель, создаваемый при реализации класса TraceListener. (Унаследовано от TraceListener) |
Fail(String, String) |
Выдает простое и подробное сообщение об ошибке в прослушиватель, создаваемый при реализации класса TraceListener. (Унаследовано от TraceListener) |
Flush() |
Очищает основной поток, выполняющий запись в текущий файл журнала. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetLifetimeService() |
Устаревшие..
Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject) |
GetSupportedAttributes() |
Возвращает настраиваемые атрибуты конфигурации XML, поддерживаемые прослушивателем трассировки. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) |
Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object) |
Записывает сведения трассировки, объект данных и сведения о событии в исходящий файл или поток. |
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) |
Записывает сведения трассировки, массив объектов данных и сведения о событии в выходной файл или поток. |
TraceEvent(TraceEventCache, String, TraceEventType, Int32) |
Записывает сведения трассировки и сведения о событиях в специальные выходные данные прослушивателя. (Унаследовано от TraceListener) |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) |
Записывает сведения трассировки, сообщение и сведения о событии в выходной файл или поток. |
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) |
Записывает сведения трассировки, форматированный массив объектов данных и сведения о событии в исходящий файл или поток. |
TraceTransfer(TraceEventCache, String, Int32, String, Guid) |
Записывает сведения трассировки, сообщение, идентификатор сопутствующего действия и сведения о событиях в специальные выходные данные прослушивателя. (Унаследовано от TraceListener) |
Write(Object) |
Записывает значение метода ToString() объекта в прослушиватель, создаваемый при реализации класса TraceListener. (Унаследовано от TraceListener) |
Write(Object, String) |
Записывает имя категории и значение метода ToString() объекта в прослушиватель, создаваемый при реализации класса TraceListener. (Унаследовано от TraceListener) |
Write(String) |
Дословно записывает сообщение на диск без какой-либо дополнительной контекстной информации. |
Write(String, String) |
Записывает имя категории и сообщение в прослушиватель, создаваемый при реализации класса TraceListener. (Унаследовано от TraceListener) |
WriteIndent() |
Записывает отступ в прослушиватель, создаваемый при реализации этого класса, и восстанавливает для свойства NeedIndent значение |
WriteLine(Object) |
Записывает значение метода ToString() объекта, заканчивающееся знаком завершения строки, в прослушиватель, создаваемый при реализации класса TraceListener. (Унаследовано от TraceListener) |
WriteLine(Object, String) |
Записывает имя категории и значение метода ToString() объекта, заканчивающееся знаком завершения строки, в прослушиватель, создаваемый при реализации класса TraceListener. (Унаследовано от TraceListener) |
WriteLine(String) |
Дословно записывает сообщение на диск без какой-либо дополнительной контекстной информации, после сообщения ставится текущий разделитель строк. |
WriteLine(String, String) |
Записывает имя категории и сообщение, заканчивающееся знаком завершения строки, в прослушиватель, создаваемый при реализации класса TraceListener. (Унаследовано от TraceListener) |