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

Objekty a My.Log objekty můžete použít My.Application.Log k protokolování informací o událostech, ke kterým dochází ve vaší aplikaci. Tento návod ukazuje, jak přepsat výchozí nastavení a způsobit zápis objektu Log do jiných naslouchacích procesů protokolu.

Požadavky

Objekt Log může zapisovat informace do několika naslouchacích procesů protokolu. Před změnou konfigurací je potřeba určit aktuální konfiguraci naslouchacích procesů protokolů. 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 procesů

  1. V Průzkumník řešení klikněte pravým tlačítkem na app.config 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 v oddílu <system.diagnostics> 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í procesy protokolu, které chcete přijímat Log zprávy.

  5. <sharedListeners> Vyhledejte oddíl v oddílu v oddílu <system.diagnostics> 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 se měl podobat následujícímu kódu 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>
    

Změna konfigurace naslouchacího procesu

  1. Vyhledejte prvek naslouchacího procesu <add> z oddílu <sharedListeners> .

  2. Atribut type poskytuje název typu naslouchacího procesu. Tento typ musí dědit z TraceListener třídy. Pomocí názvu silného pojmenovaného typu se ujistěte, že se používá správný typ. Další informace najdete v části Odkaz na typ silného pojmenování níže.

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

    Informace o tom, kde další typy naslouchacích procesů protokolů zapisují informace, najdete v dokumentaci k dokumentace tohoto typu.

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

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

Odkaz na typ silného pojmenování

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

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

  2. Tento příklad kódu ukazuje, jak určit název silného pojmenovaného typu pro plně kvalifikovaný typ – System.Diagnostics.FileLogTraceListener v tomto případě.

    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 typ silného pojmenování, jak je uvedeno výše v postupu Přidání naslouchacích procesů.

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

Viz také