Procedura dettagliata: modifica della posizione di inserimento delle informazioni con My.Application.Log (Visual Basic)Walkthrough: Changing Where My.Application.Log Writes Information (Visual Basic)

È possibile usare gli oggetti My.Application.Log e My.Log per registrare informazioni sugli eventi che si verificano nell'applicazione.You can use the My.Application.Log and My.Log objects to log information about events that occur in your application. Questa procedura dettagliata mostra come eseguire l'override delle impostazioni predefinite e fare in modo che l'oggetto Log scriva le informazioni in altri listener di log.This walkthrough shows how to override the default settings and cause the Log object to write to other log listeners.

PrerequisitesPrerequisites

L'oggetto Log può scrivere le informazioni in diversi listener di log.The Log object can write information to several log listeners. Prima di modificare le configurazioni dei listener di log è necessario determinarne la configurazione corrente.You need to determine the current configuration of the log listeners before changing the configurations. Per altre informazioni, vedere Procedura dettagliata: Individuazione della posizione di inserimento delle informazioni con My.Application.Log.For more information, see Walkthrough: Determining Where My.Application.Log Writes Information.

Si consiglia di consultare la Procedura: Scrivere informazioni sugli eventi in un file di testo o Procedura: Scrivere nel registro eventi di un'applicazione.You may want to review How to: Write Event Information to a Text File or How to: Write to an Application Event Log.

Per aggiungere listenerTo add listeners

  1. Fare clic con il pulsante destro del mouse sul file app.config in Esplora soluzioni , quindi scegliere Apri.Right-click app.config in Solution Explorer and choose Open.

    - oppure -- or -

    Se non è presente alcun file app.config:If there is no app.config file:

    1. Scegliere Aggiungi nuovo elemento dal menu Progetto.On the Project menu, choose Add New Item.

    2. Nella finestra di dialogo Aggiungi nuovo elemento selezionare File di configurazione dell'applicazione.From the Add New Item dialog box, select Application Configuration File.

    3. Fare clic su Aggiungi.Click Add.

  2. Individuare la sezione <listeners> all'interno della sezione <source> con l'attributo name "DefaultSource" che si trova nella sezione <sources> .Locate the <listeners> section, under the <source> section with the name attribute "DefaultSource", in the <sources> section. La sezione <sources> si trova nella sezione <system.diagnostics> all'interno della sezione di primo livello <configuration> .The <sources> section is in the <system.diagnostics> section, in the top-level <configuration> section.

  3. Aggiungere gli elementi seguenti alla sezione <listeners> .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. Rimuovere il commento dai listener di log per i quali si vuole ricevere i messaggi di Log .Uncomment the log listeners that you want to receive Log messages.

  5. Individuare la sezione <sharedListeners> nella sezione <system.diagnostics> all'interno della sezione di primo livello <configuration> .Locate the <sharedListeners> section, in the <system.diagnostics> section, in the top-level <configuration> section.

  6. Aggiungere gli elementi seguenti alla sezione <sharedListeners> .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. Il contenuto del file app.config dovrebbe essere simile al codice XML seguente.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>
    

Per riconfigurare un listenerTo reconfigure a listener

  1. Individuare l'elemento <add> del listener nella sezione <sharedListeners> .Locate the listener's <add> element from the <sharedListeners> section.

  2. L'attributo type fornisce il nome del tipo di listener.The type attribute gives the name of the listener type. Questo tipo deve ereditare dalla classe TraceListener.This type must inherit from the TraceListener class. Usare il tipo con nome sicuro per assicurarsi di usare il tipo corretto.Use the strongly named type name to ensure that the right type is used. Per altre informazioni, vedere la sezione seguente "Per aggiungere riferimenti a un tipo con nome sicuro".For more information, see the "To reference a strongly named type" section below.

    Di seguito sono riportati alcuni esempi di listener che si possono usare.Some types that you can use are:

    Per sapere dove gli altri tipi di listener di log scrivono le informazioni, consultare la documentazione relativa al tipo di listener desiderato.For information about where other types of log listeners write information, consult that type's documentation.

  3. Quando crea l'oggetto listener di log, l'applicazione passa l'attributo initializeData come parametro del costruttore.When the application creates the log-listener object, it passes the initializeData attribute as the constructor parameter. Il significato dell'attributo initializeData dipende dal listener di traccia.The meaning of the initializeData attribute depends on the trace listener.

  4. Dopo aver creato il listener di log, l'applicazione imposta le proprietà del listener.After creating the log listener, the application sets the listener's properties. Tali proprietà sono definite dagli altri attributi contenuti nell'elemento <add> .These properties are defined by the other attributes in the <add> element. Per altre informazioni sulle proprietà di un determinato listener, consultare la documentazione relativa al tipo di listener corrispondente.For more information on the properties for a particular listener, see the documentation for that listener's type.

Per aggiungere riferimenti a un tipo con nome sicuroTo reference a strongly named type

  1. Per assicurarsi di usare il tipo di listener di log appropriato, usare il nome di tipo completo e il nome di assembly sicuro.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. La sintassi di un tipo con nome sicuro è la seguente:The syntax of a strongly named type is as follows:

    <nome tipo>, <nome assembly>, <numero versione>, <impostazioni cultura>, <nome sicuro><type name>, <assembly name>, <version number>, <culture>, <strong name>

  2. L'esempio di codice seguente mostra come determinare il tipo con nome sicuro per un tipo completo, in questo caso "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
    

    Questo è l'output, e può essere usato per aggiungere riferimenti univoci a un tipo con nome sicuro, come nella procedura "Per aggiungere listener" precedente.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

Vedere ancheSee also