Praca z Dzienniki aplikacji w języku Visual Basic
My.Applicaton.Log i My.Log obiektów ułatwiają zapisu rejestrowania i śledzenia informacji w dziennikach.
W jaki sposób wiadomości są rejestrowane
Po pierwsze, wskaźnik ważności wiadomości jest sprawdzany z Switch właściwość dziennika TraceSource właściwości.Przez domyślny tylko wiadomości wskaźnik ważności "Informacje" i wyższe są przekazywane do detektorów śledzenia, określony w dzienniku TraceListener kolekcji.Następnie każdy odbiornik porównuje ważności wiadomości detektora Switch właściwości.Jeśli wskaźnik ważności wiadomości jest na tyle wysoki, odbiornik zapisuje się wiadomości.
Następujące diagram pokazuje, jak wiadomość napisana do WriteEntry metody zostaje przekazana do WriteLine metody dziennika śledzenia detektory:
Zachowanie dziennika i detektory śledzenia można zmienić, zmieniając plik konfiguracji aplikacji.Na poniższym diagramie przedstawiono korespondencja między części dziennika i plików konfiguracji.
Gdy wiadomości są rejestrowane
Jeśli zestaw nie ma pliku konfiguracyjnego, My.Application.Log i My.Log obiektów zapisu do wyjścia debugowania aplikacji (poprzez DefaultTraceListener klasy).Ponadto My.Application.Log obiekt zapisuje plik dziennika zestawu (poprzez FileLogTraceListener klasy), podczas My.Log obiekt zapisuje do aplikacji ASP.Wyniki netto strony sieci Web (poprzez WebPageTraceListener klasy).
Dane wyjściowe debugowania można wyświetlać w Visual Studioprodukcji okna po uruchomieniu aplikacji w trybie debugowania. Aby otworzyć danych wyjściowych okna, kliknij debugowania element menu, wskaż systemu Windows, a następnie kliknij przycisk dane wyjściowe.W produkcji okno, wybierz opcję debugowania z pokazać dane wyjściowe z pole.
Domyślnie My.Application.Log zapisuje plik dziennika w ścieżce dla danych aplikacji użytkownika.Możesz uzyskać ścieżkę z FullLogFileName właściwość DefaultFileLogWriter obiektu.Format ta ścieżka jest następująca:
BasePath\CompanyName\ProductName\ProductVersion
Typowa wartość dla BasePath jest w następujący sposób.
C:\Documents and Settings\username\Dane aplikacji danych
Wartości CompanyName, ProductName, i ProductVersion pochodzić z informacji o zestawie aplikacji.Formularz nazwy pliku dziennika jest AssemblyName.log, gdzie AssemblyName jest nazwą pliku bez rozszerzenia zgromadzenia.Jeśli potrzebna jest więcej niż jeden plik dziennika, takich jak, gdy oryginalny dziennik jest niedostępny podczas stosowania próby zapisu w dzienniku, jest formularz dla nazwy pliku dziennika AssemblyName-iteracji.log, gdzie iteration jest pozytywna Integer.
Domyślne zachowanie można zastąpić przez dodawanie lub zmienianie komputera i stosowania plików konfiguracyjnych.Aby uzyskać więcej informacji, zobacz Instruktaż: Zmiana, gdzie My.Application.Log zapisuje informacje (Visual Basic).
Konfigurowanie ustawień dziennika
Log Obiekt ma implementacji domyślny, który działa bez plik konfiguracji aplikacji app.config.Aby zmienić ustawienia domyślne, należy dodać plik konfiguracji z nowymi ustawieniami.Aby uzyskać więcej informacji, zobacz Instruktaż: Filtrowanie danych wyjściowych My.Application.Log (Visual Basic).
Sekcje konfiguracji dziennika znajdują się w <system.diagnostics> węzeł w głównym <configuration> węzeł pliku app.config.Informacje dziennika jest zdefiniowana w kilka węzłów:
Detektory dla Log obiektu są zdefiniowane w <sources> węzła o nazwie DefaultSource.
Filtr wskaźnik ważności dla Log obiekt jest zdefiniowany w <switches> węzła o nazwie DefaultSwitch.
Detektory dziennika są zdefiniowane w <sharedListeners> węzła.
Przykłady <sources>, <switches>, i <sharedListeners> węzły są wyświetlane w następującym kodzie:
<configuration>
<system.diagnostics>
<sources>
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
</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, processorArchitecture=MSIL"
initializeData="FileLogWriter"
/>
</sharedListeners>
</system.diagnostics>
</configuration>
Zmienianie ustawień dziennika po wdrożeniu
Podczas opracowywania aplikacji jego ustawienia konfiguracji są przechowywane w pliku app.config, jak pokazano w powyższych przykładach.Po wdrożeniu aplikacji nadal można skonfigurować dziennika przez edycję pliku konfiguracyjnego.W aplikacji opartych na systemie Windows, nazwa tego pliku jest applicationName. exe.config, a musi znajdować się w tym samym folderze co plik wykonywalny.Dla aplikacji sieci Web jest to plik Web.config, związanego z projektem.
Gdy aplikacja wykonuje kod tworzy instancję klasy po raz pierwszy, sprawdza, czy plik konfiguracyjny, aby uzyskać informacje o obiekcie.Dla Log obiektu, dzieje się po raz pierwszy Log uzyskać dostępu do obiektu.System sprawdza plik konfiguracji tylko raz dla każdego określonego obiektu — aplikacja tworzy obiekt po raz pierwszy.W związku z tym może być konieczne ponowne uruchomienie aplikacji, aby zmiany zostały wprowadzone.
Rozmieszczonej aplikacji należy włączyć kod śledzenia ponowne skonfigurowanie przełącznika obiektów przed uruchomieniem aplikacji.Zazwyczaj wiąże się włączanie obiektami przełącznika i wyłączyć lub zmieniając poziomy śledzenia, a następnie ponowne uruchomienie aplikacji.
Zagadnienia dotyczące zabezpieczeń
Podczas zapisywania danych dziennika, należy wziąć pod uwagę następujące:
Należy unikać Wyciekające informacji użytkownika. Upewnij się, zapisuje swoje aplikacji zatwierdzony jedynie informacje w dzienniku.Na przykład może być możliwy do zaakceptowania dla dziennika aplikacji ma zawierać nazwy użytkowników, ale nie hasła użytkownika.
Zabezpieczyć lokalizacji dziennika. Każdy dziennik, który zawiera potencjalnie poufne informacje powinny być przechowywane w bezpiecznym miejscu.
Uniknąć informacji wprowadzających w błąd. Ogólnie rzecz biorąc aplikacji, należy sprawdzić wszystkie dane wprowadzane przez użytkownika przed rozpoczęciem korzystania z danych.Obejmuje to zapisywania danych do dziennika aplikacji.
Należy unikać "odmowa usługi". Jeśli aplikacja zapisuje w dzienniku zbyt dużej ilości informacji, można wypełnić dziennik lub ułatwić znajdowanie ważnych informacji jest trudne.
Zobacz też
Informacje
Microsoft.VisualBasic.Logging.Log