Udostępnij za pośrednictwem


Wskazówki: zmienianie, gdzie My.Application.Log zapisuje informacje (Visual Basic)

Można użyć My.Application.Log i My.Log obiekty do rejestrowania informacji o zdarzeniach, które występują w aplikacji.W tym instruktażu pokazano, jak zastąpić ustawienia domyślne i spowodować, że Log obiektu do zapisu innych detektorów dziennika.

Wymagania wstępne

Log Obiektu można zapisać informacji o kilku detektory dziennika.Należy ustalić bieżącą konfigurację detektory dziennika przed zmianą konfiguracji.Aby uzyskać więcej informacji, zobacz Wskazówki: ustalanie, gdzie My.Application.Log zapisuje informacje (Visual Basic).

Chcesz przejrzeć Porady: zapisywanie informacji o zdarzeniach w pliku tekstowym (Visual Basic) lub Porady: zapisywanie w rejestrze zdarzeń aplikacji (Visual Basic).

Aby dodać detektory

  1. Kliknij prawym przyciskiem myszy app.config w Solution Explorer i wybierz polecenie Otwórz.

    - lub -

    Jeśli nie ma pliku app.config:

    1. Na Projekt menu, wybierz polecenie Dodaj nowy element.

    2. Z Dodaj nowy element okno dialogowe Wybierz Pliku konfiguracyjnego aplikacji.

    3. Kliknij przycisk dodać.

  2. Zlokalizuj <listeners> sekcji w <source> sekcji z name atrybutu "DefaultSource" w <sources> sekcji.<sources> Znajduje się w sekcji <system.diagnostics> sekcji w najwyższego poziomu <configuration> sekcji.

  3. Dodać te elementy do tego <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" /> -->
    
  4. Usuń oznaczenie komentarza detektory dziennika, które chcesz otrzymywać Log wiadomości.

  5. Zlokalizuj <sharedListeners> sekcji w <system.diagnostics> sekcji w najwyższego poziomu <configuration> sekcji.

  6. Dodać te elementy do tego <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" />
    
  7. Zawartość pliku app.config powinna być podobna do następującej 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ć detektor

  1. Zlokalizuj detektora <add> element z <sharedListeners> sekcji.

  2. type Atrybut podaje nazwę typu detektora.Ten typ musi dziedziczyć po TraceListener klasy.Użyj nazwy typu nazwanego zdecydowanie do zapewnienia, że używane jest właściwy typ.Aby uzyskać więcej informacji zobacz temat odniesienia nazwie typu"sekcji" poniżej.

    Niektóre typy, które można użyć, są:

    Aby uzyskać informacje, gdzie innych rodzajów detektory dziennika zapis informacji zajrzyj do dokumentacji tego typu.

  3. Gdy aplikacja tworzy obiekt detektor dziennika, przekazuje initializeData atrybutu jako parametr do konstruktora.Znaczenie initializeData atrybut zależy od obiektu nasłuchującego śledzenia.

  4. Po utworzeniu odbiornika dziennika, aplikacja ustawia właściwości odbiornika.Te właściwości są definiowane przez inne atrybuty w <add> element.Aby uzyskać więcej informacji o właściwości dla określonego odbiornika zobacz dokumentację dla typu tego odbiornika.

Aby odwołać się za nazwie typu

  1. W celu zapewnienia, że właściwy typ jest używany dla detektor dziennika, upewnij się, że wpisz pełną nazwę oraz nazwę silnej nazwie.Składnia typu nazwie jest w następujący sposób:

    <nazwy typu>, <nazwy zestawu>, <numer wersji>, <kultury>, <silnej nazwy>

  2. Poniższy przykład kodu pokazuje jak określić nazwę typu nazwie pełną type—"System.Diagnostics.FileLogTraceListener" w tym przypadku.

    Public Sub DisplayStrongName()
        Dim t As Type = GetType(Logging.FileLogTraceListener)
        MsgBox(t.FullName & ", " & t.Assembly.FullName)
    End Sub
    

    Jest to produkcja i może służyć do jednoznacznie odwołać nazwie typu, jak w "Aby dodać detektory" powyższej procedury.

    Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

Zobacz też

Zadania

Porady: zapisywanie informacji o zdarzeniach w pliku tekstowym (Visual Basic)

Porady: zapisywanie w rejestrze zdarzeń aplikacji (Visual Basic)

Informacje

Log

TraceListener

FileLogTraceListener

EventLogTraceListener