Exemplarische Vorgehensweise: Ändern des Orts, in den "My.Application.Log" Informationen schreibt (Visual Basic)Walkthrough: Changing Where My.Application.Log Writes Information (Visual Basic)

Sie können die Objekte My.Application.Log und My.Log verwenden, um Informationen über Ereignisse zu protokollieren, die in Ihrer Anwendung auftreten.You can use the My.Application.Log and My.Log objects to log information about events that occur in your application. In dieser exemplarischen Vorgehensweise erfahren Sie, wie Sie die Standardeinstellungen außer Kraft setzen und das Log -Objekt dazu bringen können, in andere Protokolllistener zu schreiben.This walkthrough shows how to override the default settings and cause the Log object to write to other log listeners.

Erforderliche KomponentenPrerequisites

Das Log -Objekt kann Informationen in verschiedene Protokolllistener schreiben.The Log object can write information to several log listeners. Sie müssen die aktuelle Konfiguration der Protokolllistener bestimmen, bevor Sie die Konfigurationen ändern können.You need to determine the current configuration of the log listeners before changing the configurations. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Bestimmen, wohin „My.Application.Log“ Informationen schreibt.For more information, see Walkthrough: Determining Where My.Application.Log Writes Information.

Es kann nützlich sein, Vorgehensweise: Schreiben von Ereignisinformationen in eine Textdatei oder Vorgehensweise: Schreiben in ein Anwendungsereignisprotokoll durchzuarbeiten.You may want to review How to: Write Event Information to a Text File or How to: Write to an Application Event Log.

Hinzufügen von ListenernTo add listeners

  1. Klicken Sie im Projektmappen-Explorer auf "app.config", und wählen Sie Öffnenaus.Right-click app.config in Solution Explorer and choose Open.

    - oder –- or -

    Wenn keine app.config-Datei vorhanden ist:If there is no app.config file:

    1. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.On the Project menu, choose Add New Item.

    2. Wählen Sie im Dialogfeld Neues Element hinzufügen den Eintrag Anwendungskonfigurationsdateiaus.From the Add New Item dialog box, select Application Configuration File.

    3. Klicken Sie auf Hinzufügen.Click Add.

  2. Suchen Sie den <listeners> -Abschnitt unter dem <source> -Abschnitt mit dem name -Attribut "DefaultSource" im Abschnitt <sources> .Locate the <listeners> section, under the <source> section with the name attribute "DefaultSource", in the <sources> section. Der Abschnitt <sources> befindet sich im <system.diagnostics> -Abschnitt im Abschnitt <configuration> der obersten Ebene.The <sources> section is in the <system.diagnostics> section, in the top-level <configuration> section.

  3. Fügen Sie dem betreffenden <listeners> -Abschnitt diese Elemente hinzu.Add these elements to that <listeners> section.

    <!-- 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. Entfernen Sie die Auskommentierungen der Protokolllistener, die Log -Meldungen empfangen sollen.Uncomment the log listeners that you want to receive Log messages.

  5. Suchen Sie den Abschnitt <sharedListeners> im <system.diagnostics> -Abschnitt im Abschnitt <configuration> der obersten Ebene.Locate the <sharedListeners> section, in the <system.diagnostics> section, in the top-level <configuration> section.

  6. Fügen Sie dem betreffenden <sharedListeners> -Abschnitt diese Elemente hinzu.Add these elements to that <sharedListeners> section.

    <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. Der Inhalt der app.config-Datei sollte ähnlich dem folgenden XML-Code sein:The content of the app.config file should be similar to the following 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>  
    

Umkonfigurieren eines ListenersTo reconfigure a listener

  1. Suchen Sie im Abschnitt <add> das <sharedListeners> -Element des Listeners.Locate the listener's <add> element from the <sharedListeners> section.

  2. Das type -Attribut enthält den Namen des Listenertyps.The type attribute gives the name of the listener type. Dieser Typ muss von der TraceListener -Klasse erben.This type must inherit from the TraceListener class. Verwenden Sie den starken Typnamen, um sicherzustellen, dass der richtige Typ verwendet wird.Use the strongly named type name to ensure that the right type is used. Weitere Informationen finden Sie unten im Abschnitt "Verweise auf Typen mit starken Namen".For more information, see the "To reference a strongly named type" section below.

    Dies sind einige der Typen, die Sie verwenden können:Some types that you can use are:

    Informationen dazu, wohin andere Typen von Protokolllistenern Informationen schreiben, finden Sie in der Dokumentation zum entsprechenden Typ.For information about where other types of log listeners write information, consult that type's documentation.

  3. Wenn die Anwendung das Protokolllistenerobjekt erstellt, übergibt sie das initializeData -Attribut als Konstruktorparameter.When the application creates the log-listener object, it passes the initializeData attribute as the constructor parameter. Die Bedeutung des initializeData -Attributs hängt vom Ablaufverfolgungslistener ab.The meaning of the initializeData attribute depends on the trace listener.

  4. Nach dem Erstellen des Protokolllisteners legt die Anwendung die Eigenschaften des Listeners fest.After creating the log listener, the application sets the listener's properties. Diese Eigenschaften werden durch die anderen Attribute im <add> -Element definiert.These properties are defined by the other attributes in the <add> element. Weitere Informationen zu den Eigenschaften für einen bestimmten Listener finden Sie in der Dokumentation für den betreffenden Listenertyp.For more information on the properties for a particular listener, see the documentation for that listener's type.

Verweise auf Typen mit starkem NamenTo reference a strongly named type

  1. Um sicherzustellen, dass der richtige Typ für Ihren Protokolllistener verwendet wird, achten Sie darauf, den vollqualifizierten Typnamen und den starken Assemblynamen zu verwenden.To ensure that the right type is used for your log listener, make sure to use the fully qualified type name and the strongly named assembly name. Die Syntax für einen Typ mit starkem Namen ist wie folgt:The syntax of a strongly named type is as follows:

    <Typname>, <Assemblyname>, <Versionsnummer>, <Kultur>, <starker Name><type name>, <assembly name>, <version number>, <culture>, <strong name>

  2. Dieses Codebeispiel zeigt, wie Sie den starken Typnamen für einen vollqualifizierten Typ bestimmen – in diesem Fall "System.Diagnostics.FileLogTraceListener".This code example shows how to determine the strongly named type name for a fully qualified type—"System.Diagnostics.FileLogTraceListener" in this case.

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

    Dies ist die Ausgabe, und sie kann verwendet werden, um eindeutig auf einen Typ mit starkem Namen zu verweisen, wie in der Verfahrensweise "Hinzufügen von Listenern" oben.This is the output, and it can be used to uniquely reference a strongly named type, as in the "To add listeners" procedure above.

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

Siehe auchSee Also

Microsoft.VisualBasic.Logging.Log
TraceListener
Microsoft.VisualBasic.Logging.FileLogTraceListener
System.Diagnostics.EventLogTraceListener
Gewusst wie: Schreiben von Ereignisinformationen in eine TextdateiHow to: Write Event Information to a Text File
Gewusst wie: Schreiben in ein AnwendungsereignisprotokollHow to: Write to an Application Event Log