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.
Możesz użyć obiektów My.Application.Log i My.Log do rejestrowania informacji o zdarzeniach występujących w aplikacji. W tym przewodniku pokazano, jak zastąpić ustawienia domyślne i spowodować Log zapisanie obiektu w innych odbiornikach dziennika.
Wymagania wstępne
Obiekt Log może zapisywać informacje w kilku odbiornikach dziennika. Przed zmianą konfiguracji należy określić bieżącą konfigurację odbiorników dziennika. Aby uzyskać więcej informacji, zobacz Przewodnik: określanie, gdzie my.Application.Log zapisuje informacje.
Warto zapoznać się z tematem Instrukcje: zapisywanie informacji o zdarzeniach w pliku tekstowym lub Instrukcje: zapisywanie w dzienniku zdarzeń aplikacji.
Aby dodać nasłuchiwacze
Kliknij prawym przyciskiem myszy app.config w Eksploratorze rozwiązań i wybierz polecenie Otwórz.
- lub -
Jeśli nie ma pliku 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>, znajdującą się w sekcji<source>z atrybutemname"DefaultSource", w sekcji<sources>. Sekcja<sources>znajduje się w sekcji<system.diagnostics>, w sekcji najwyższego poziomu<configuration>.Dodaj te elementy do tej
<listeners>sekcji.<!-- 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" /> -->Usuń komentarz z odbiorników dziennika, które mają odbierać
Logkomunikaty.Zlokalizuj sekcję
<sharedListeners>w sekcji<system.diagnostics>w sekcji najwyższego poziomu<configuration>.Dodaj te elementy do tej
<sharedListeners>sekcji.<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" />Zawartość pliku app.config powinna być podobna do następującego kodu 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>
Aby ponownie skonfigurować odbiornik
Zlokalizuj element słuchacza
<add>z sekcji<sharedListeners>.Atrybut
typenadaje nazwę typu odbiornika. Ten typ musi dziedziczyć z TraceListener klasy. Użyj nazwy silnie nazwanego typu, aby upewnić się, że używany jest właściwy typ. Aby uzyskać więcej informacji, zobacz sekcję "Aby odwołać się do silnie nazwanego typu" poniżej.Niektóre typy, których można użyć, to:
Odbiornik Microsoft.VisualBasic.Logging.FileLogTraceListener , który zapisuje w dzienniku plików.
System.Diagnostics.EventLogTraceListener odbiornik, który zapisuje informacje do dziennika zdarzeń komputera według parametru
initializeData.Odbiorniki System.Diagnostics.DelimitedListTraceListener i System.Diagnostics.XmlWriterTraceListener, które zapisują do pliku określonego przez parametr
initializeData.Słuchacz, który zapisuje w konsoli poleceń System.Diagnostics.ConsoleTraceListener.
Aby uzyskać informacje o tym, gdzie inne typy odbiorników dzienników zapisują informacje, zapoznaj się z dokumentacją tego typu.
Gdy aplikacja tworzy obiekt log-listener, przekazuje
initializeDataatrybut jako parametr konstruktora. Znaczenie atrybutuinitializeDatazależy od odbiornika śledzenia.Po utworzeniu odbiornika dziennika aplikacja ustawia właściwości odbiornika. Te właściwości są definiowane przez inne atrybuty w elemecie
<add>. Aby uzyskać więcej informacji na temat właściwości określonego odbiornika, zobacz dokumentację dla typu tego odbiornika.
Aby odnieść się do silnie nazwanego typu
Aby upewnić się, że odpowiedni typ jest używany dla odbiornika dziennika, upewnij się, że używasz w pełni kwalifikowanej nazwy typu i silnie nazwanego zestawu. Składnia silnie nazwanego typu jest następująca:
< nazwa typu, ><, ><wersja numer, ><, ><
W tym przykładzie kodu pokazano, jak określić nazwę silnie nazwanego typu dla w pełni kwalifikowanego typu "System.Diagnostics.FileLogTraceListener" w tym przypadku.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End SubTo jest wynik pracy i może służyć do unikatowego odwołania się do precyzyjnie nazwanego typu, jak w procedurze "Dodawanie słuchaczy" powyżej.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a