Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вы можете использовать My.Application.Log и My.Log объекты для регистрации сведений о событиях, происходящих в приложении. В этом пошаговом руководстве показано, как переопределить параметры по умолчанию и заставить объект Log записываться в других слушателей логов.
Предпосылки
Объект Log может записывать сведения в несколько прослушивателей журналов. Перед изменением конфигурации необходимо определить текущую конфигурацию прослушивателей журналов. Дополнительные сведения см. в пошаговом руководстве. Определение места записи данных My.Application.Log.
Вы можете просмотреть инструкции: запись сведений о событии в текстовый файл или практическое руководство: запись в журнал событий приложения.
Добавление прослушивателей
Щелкните правой кнопкой мыши app.config в обозревателе решений и выберите "Открыть".
-или-
Если нет файла app.config:
В меню "Проект" выберите "Добавить новый элемент".
В диалоговом окне "Добавление нового элемента" выберите файл конфигурации приложения.
Нажмите кнопку Добавить.
Найдите раздел
<listeners>, расположенный под разделом<source>с атрибутомname"DefaultSource", в разделе<sources>. Этот<sources>раздел находится в<system.diagnostics>разделе в разделе верхнего уровня<configuration>.Добавьте эти элементы в этот
<listeners>раздел.<!-- Uncomment to connect the application file log. --> <!-- <add name="FileLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="EventLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="Delimited" /> --> <!-- Uncomment to connect the XML log. --> <!-- <add name="XmlWriter" /> --> <!-- Uncomment to connect the console log. --> <!-- <add name="Console" /> -->Раскомментируйте прослушиватели журналов, которые вы хотите, чтобы получали сообщения
Log.Найдите раздел
<sharedListeners>в разделе<system.diagnostics>, в разделе верхнего уровня<configuration>.Добавьте эти элементы в этот
<sharedListeners>раздел.<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializeData="FileLogWriter" /> <add name="EventLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="sample application"/> <add name="Delimited" type="System.Diagnostics.DelimitedListTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleDelimitedFile.txt" traceOutputOptions="DateTime" /> <add name="XmlWriter" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleLogFile.xml" /> <add name="Console" type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="true" />Содержимое файла app.config должно совпадать со следующим XML-кодом:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!-- This section configures My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> <!-- Uncomment to connect the application file log. --> <!-- <add name="FileLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="EventLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="Delimited" /> --> <!-- Uncomment to connect the XML log. --> <!-- <add name="XmlWriter" /> --> <!-- Uncomment to connect the console log. --> <!-- <add name="Console" /> --> </listeners> </source> </sources> <switches> <add name="DefaultSwitch" value="Information" /> </switches> <sharedListeners> <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializeData="FileLogWriter" /> <add name="EventLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="sample application"/> <add name="Delimited" type="System.Diagnostics.DelimitedListTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleDelimitedFile.txt" traceOutputOptions="DateTime" /> <add name="XmlWriter" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleLogFile.xml" /> <add name="Console" type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="true" /> </sharedListeners> </system.diagnostics> </configuration>
Изменение конфигурации прослушивателя
Найдите элемент
<add>прослушивателя в разделе<sharedListeners>.Атрибут
typeзадает имя типа прослушивателя. Этот тип должен наследоваться от TraceListener класса. Используйте строго именованное имя типа, чтобы убедиться, что используется правильный тип. Дополнительные сведения см. в разделе "Ссылка на строго именованный тип" ниже.Некоторые типы, которые можно использовать:
Прослушиватель Microsoft.VisualBasic.Logging.FileLogTraceListener , который записывается в журнал файлов.
System.Diagnostics.EventLogTraceListener Прослушиватель, который записывает сведения в журнал событий компьютера, указанный параметром
initializeData.Прослушиватели System.Diagnostics.DelimitedListTraceListener и System.Diagnostics.XmlWriterTraceListener, которые записывают в файл, указанный в параметре
initializeData.Прослушиватель System.Diagnostics.ConsoleTraceListener, записывающий в консоль командной строки.
Сведения о том, где записывают информацию другие типы прослушивателей журналов, см. в документации данного типа.
Когда приложение создает объект прослушивателя журнала, он передает
initializeDataатрибут в качестве параметра конструктора. Значение атрибутаinitializeDataзависит от прослушивателя трассировки.После создания прослушивателя журнала приложение задает свойства прослушивателя. Эти свойства определяются другими атрибутами в элементе
<add>. Дополнительные сведения о свойствах конкретного прослушивателя см. в документации по типу прослушивателя.
Ссылка на строго именованный тип
Чтобы убедиться, что правильный тип используется для прослушивателя журналов, обязательно используйте полное имя типа и строго именованное имя сборки. Синтаксис строго именованного типа выглядит следующим образом:
< имя типа>, <имя сборки>, <номер версии>, <культура>, <строгое имя>
В этом примере кода показано, как определить строго именованное имя типа для полностью квалифицированного типа — System.Diagnostics.FileLogTraceListener в данном случае.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End SubЭто выходные данные, которые можно использовать для уникальной ссылки на строго именованный тип, как описано выше в процедуре "Добавление прослушивателей".
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a