Sdílet prostřednictvím


Návod: Změna místa, kde My.Application.Log zapisuje informace (Visual Basic)

Můžete použít objekty My.Application.Log a My.Log k protokolování informací o událostech, které se vyskytují ve vaší aplikaci. Tento průvodce ukazuje, jak přepsat výchozí nastavení a způsobit, aby objekt Log zapisoval do jiných logovacích listenerů.

Požadavky

Objekt Log může zapisovat informace do několika posluchačů logu. Před změnou konfigurací je potřeba určit aktuální nastavení logovacích posluchačů. Další informace naleznete v tématu Návod: Určení, kde my.Application.Log zapisuje informace.

Můžete si projít postupy: Zápis informací o události do textového souboru nebo postupy: Zápis do protokolu událostí aplikace.

Přidání naslouchacích

  1. Klikněte pravým tlačítkem na app.config v Průzkumníku řešení a zvolte Otevřít.

    - nebo -

    Pokud neexistuje žádný soubor app.config:

    1. V nabídce Projekt zvolte Přidat novou položku.

    2. V dialogovém okně Přidat novou položku vyberte Konfigurační soubor aplikace.

    3. Klikněte na tlačítko Přidat.

  2. <listeners> Vyhledejte oddíl pod <source> oddílem s atributem name DefaultSource v oddílu <sources>. Oddíl <sources> je v oddílu <system.diagnostics>, v oddílu nejvyšší úrovně <configuration>.

  3. Přidejte tyto prvky do tohoto <listeners> oddílu.

    <!-- 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. Odkomentujte naslouchací moduly protokolu, abyste mohli přijímat Log zprávy.

  5. Najděte sekci <sharedListeners>, v rámci sekce <system.diagnostics>, v rámci sekce nejvyšší úrovně <configuration>.

  6. Přidejte tyto prvky do tohoto <sharedListeners> oddílu.

    <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. Obsah souboru app.config by měl být podobný následujícímu 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>
    

Pře-konfigurace posluchače

  1. Vyhledejte prvek posluchače <add> v oddílu <sharedListeners>.

  2. Atribut type poskytuje název typu posluchače. Tento typ musí dědit z TraceListener třídy. Pomocí názvu silně pojmenovaného typu se ujistěte, že je použit správný typ. Další informace naleznete v části „Odkázat na silně pojmenovaný typ“ níže.

    Mezi typy, které můžete použít, patří:

    Informace o tom, kde další typy posluchačů protokolů zapisují informace, najdete v dokumentaci tohoto typu.

  3. Když aplikace vytvoří naslouchací objekt protokolu, předá initializeData atribut jako parametr konstruktoru. Význam atributu initializeData závisí na posluchači trasování.

  4. Po vytvoření posluchače protokolu aplikace nastaví vlastnosti posluchače. Tyto vlastnosti jsou definovány jinými atributy v elementu <add> . Další informace o vlastnostech konkrétního naslouchacího zařízení najdete v dokumentaci k typu naslouchacího zařízení.

Odkazovat na silně pojmenovaný typ

  1. Abyste měli jistotu, že se pro posluchače protokolu používá správný typ, nezapomeňte použít plně kvalifikovaný název typu a název sestavení s pevným názvem. Syntaxe silného pojmenovaného typu je následující:

    < název typu>, <název sestavení>, <číslo verze>, <kultura>, <silný název>

  2. Tento příklad kódu ukazuje, jak zjistit název typu se silným názvem pro plně kvalifikovaný typ, v tomto případě "System.Diagnostics.FileLogTraceListener".

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

    Toto je výstup a dá se použít k jedinečnému odkazu na silně pojmenovaný typ, jak je uvedeno výše v postupu "Přidat posluchače."

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

Viz také