Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом пошаговом руководстве показано, как создать настраиваемый прослушиватель логов и настроить его для прослушивания вывода объекта My.Application.Log
.
Начало работы
Прослушиватели журналов должны наследоваться от TraceListener класса.
Создание прослушивателя
В приложении создайте класс с именем
SimpleListener
, наследуемым от TraceListener.Public Class SimpleListener Inherits System.Diagnostics.TraceListener <Security.Permissions.HostProtection(Synchronization:=True)> Public Overloads Overrides Sub Write(ByVal message As String) MsgBox("Write: " & message) End Sub <Security.Permissions.HostProtection(Synchronization:=True)> Public Overloads Overrides Sub WriteLine(ByVal message As String) MsgBox("WriteLine: " & message) End Sub End Class
Методы Write и WriteLine, необходимые для базового класса, вызывают
MsgBox
для отображения их входных данных.Атрибут HostProtectionAttribute применяется к Write методам и WriteLine методам, чтобы их атрибуты соответствовали методам базового класса. Атрибут HostProtectionAttribute позволяет узлу, который запускает код, определить, что код предоставляет синхронизацию защиты узла.
Замечание
Атрибут HostProtectionAttribute действует только в неуправляемых приложениях, в которых размещается среда CLR и реализует защиту узлов, например SQL Server.
Чтобы убедиться, что My.Application.Log
использует прослушиватель журналов, следует строго назвать сборку, содержащую прослушиватель журналов.
Следующая процедура содержит несколько простых шагов по созданию сборки прослушивателя журналов строго именованного имени. Дополнительные сведения см. в разделе Создание и использование сборок со строгими именами.
Присвоить сильное имя сборке прослушивателя журнала
Выберите проект в обозревателе решений. В меню "Проект" выберите "Свойства".
Откройте вкладку Подписание .
Выберите Подписать сборку поле.
Выберите "Создать"< в раскрывающемся списке "Выбор>файла ключа строгого имени".
Откроется диалоговое окно "Создание ключа строгого имени ".
Укажите имя файла ключа в поле "Имя файла ключа ".
Введите пароль в полях "Ввод пароля " и "Подтверждение пароля ".
Нажмите кнопку ОК.
Перестройте приложение.
Добавление прослушивателя
Теперь, когда сборка имеет строгое имя, необходимо определить строгое имя прослушивателя, чтобы My.Application.Log
мог использовать ваш прослушиватель журналов.
Формат строго именованного типа выглядит следующим образом.
<имя типа>, <имя сборки>, <номер версии>, <культура>, <строгое имя>
Чтобы определить строгое имя прослушивателя
В следующем коде показано, как определить строго именованное имя типа для
SimpleListener
.Public Sub DisplaySimpleListenerStrongName() Dim t As Type = GetType(SimpleListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
Сильное имя типа зависит от вашего проекта.
С помощью строгого имени можно добавить прослушиватель в My.Application.Log
коллекцию прослушивателя журналов.
Добавление прослушивателя в My.Application.Log
Щелкните правой кнопкой мыши app.config в обозревателе решений и выберите "Открыть".
-или-
Если есть файл app.config:
В меню "Проект" выберите "Добавить новый элемент".
В диалоговом окне "Добавить новый элемент" выберите файл конфигурации приложения.
Нажмите кнопку Добавить.
Найдите раздел
<listeners>
, который находится в разделе<source>
с атрибутомname
"DefaultSource", расположенным в разделе<sources>
. Раздел<sources>
расположен в разделе<system.diagnostics>
верхнего уровня<configuration>
.Добавьте этот элемент в
<listeners>
раздел:<add name="SimpleLog" />
Найдите раздел
<sharedListeners>
в разделе<system.diagnostics>
, в разделе верхнего уровня<configuration>
.Добавьте этот элемент в этот
<sharedListeners>
раздел:<add name="SimpleLog" type="SimpleLogStrongName" />
Измените значение
SimpleLogStrongName
на строгое имя прослушивателя.