Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku pokazano, jak utworzyć niestandardowy odbiornik dziennika i skonfigurować go do nasłuchiwania danych wyjściowych My.Application.Log obiektu.
Wprowadzenie
Odbiorniki dziennika muszą dziedziczyć z klasy TraceListener.
Aby utworzyć nasłuchiwacz
W aplikacji utwórz klasę o nazwie
SimpleListener, dziedziczącą po 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 ClassMetody Write i WriteLine , wymagane przez klasę bazową, wywołają metodę
MsgBoxw celu wyświetlenia ich danych wejściowych.Atrybut HostProtectionAttribute jest stosowany do Write metod i WriteLine , aby ich atrybuty były zgodne z metodami klasy bazowej. Atrybut HostProtectionAttribute umożliwia hostowi, który uruchamia kod, określenie, że kod zapewnia synchronizację chroniącą host.
Uwaga / Notatka
Atrybut HostProtectionAttribute jest skuteczny tylko w aplikacjach niezarządzanych hostujących środowisko uruchomieniowe języka wspólnego i implementujących ochronę hosta, taką jak SQL Server.
Aby upewnić się, że My.Application.Log używa odbiornika dziennika, należy nadać silną nazwę zestawowi zawierającemu odbiornik dziennika.
Następna procedura zawiera kilka prostych kroków tworzenia silnie nazwanego zestawu odbiornika dziennika. Aby uzyskać więcej informacji, zobacz Tworzenie i używanie zestawów o silnych nazwach.
Aby zdecydowanie nazwać zestaw odbiornika dziennika
Wybierz projekt w Eksploratorze rozwiązań. W menu Projekt wybierz pozycję Właściwości.
Kliknij kartę podpisywania.
Zaznacz pole Podpisz zestaw.
Wybierz <Nowy> z listy rozwijanej Wybierz plik klucza silnej nazwy.
Zostanie otwarte okno dialogowe Tworzenie silnej nazwy klucza.
Podaj nazwę pliku klucza w polu Nazwa pliku klucza .
Wprowadź hasło w polach Wprowadź hasło i Potwierdź hasło .
Kliknij przycisk OK.
Ponownie skompiluj aplikację.
Dodawanie odbiornika
Teraz, gdy zestaw ma silną nazwę, należy określić silną nazwę nasłuchiwacza, aby My.Application.Log używał nasłuchiwacza dziennika.
Format mocno nazwanego typu jest następujący.
<nazwa typu>, <nazwa zestawu>, <numer wersji>, <kultura>, <silna nazwa>
Aby określić silną nazwę odbiornika
Poniższy kod pokazuje, jak określić silnie nazwaną nazwę typu dla elementu
SimpleListener.Public Sub DisplaySimpleListenerStrongName() Dim t As Type = GetType(SimpleListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End SubSilna nazwa tego typu zależy od projektu.
Mając silną nazwę, możesz dodać odbiornik do kolekcji nasłuchiwaczy dziennika My.Application.Log.
Aby dodać odbiornik do My.Application.Log
Kliknij prawym przyciskiem myszy app.config w Eksploratorze rozwiązań i wybierz polecenie Otwórz.
— lub —
Jeśli istnieje plik app.config:
W menu Project (Projekt ) wybierz pozycję Add New Item (Dodaj nowy element).
W oknie dialogowym Dodawanie nowego elementu wybierz pozycję Plik konfiguracji aplikacji.
Kliknij przycisk Dodaj.
Znajdź sekcję
<listeners>w sekcji<source>, która ma atrybutname"DefaultSource" i znajduje się w sekcji<sources>. Sekcja<sources>znajduje się w sekcji<system.diagnostics>, będącej częścią górnego poziomu sekcji<configuration>.Dodaj ten element do
<listeners>sekcji:<add name="SimpleLog" />Zlokalizuj sekcję
<sharedListeners>w sekcji<system.diagnostics>w sekcji najwyższego poziomu<configuration>.Dodaj ten element do tej
<sharedListeners>sekcji:<add name="SimpleLog" type="SimpleLogStrongName" />Zmień wartość `
SimpleLogStrongName` na silną nazwę odbiornika.