Procedura dettagliata: Creazione di listener di log personalizzati (Visual Basic)Walkthrough: Creating Custom Log Listeners (Visual Basic)

Questa procedura spiega come creare un listener di log personalizzato e configurarlo in modo che resti in ascolto dell'output dell'oggetto My.Application.Log.This walkthrough demonstrates how to create a custom log listener and configure it to listen to the output of the My.Application.Log object.

IntroduzioneGetting Started

I listener di log devono ereditare dalla TraceListener classe.Log listeners must inherit from the TraceListener class.

Per creare il listenerTo create the listener

  • Nell'applicazione creare una classe denominata SimpleListener che eredita da TraceListener.In your application, create a class named SimpleListener that inherits from TraceListener.

    Public Class SimpleListener
        Inherits System.Diagnostics.TraceListener
    
        <Security.Permissions.HostProtection(Synchronization:=True)> 
        Public Overloads Overrides Sub Write(ByVal message As String)
            MsgBox("Write: " & message)
        End Sub
    
        <Security.Permissions.HostProtection(Synchronization:=True)> 
        Public Overloads Overrides Sub WriteLine(ByVal message As String)
            MsgBox("WriteLine: " & message)
        End Sub
    End Class
    

    I metodi Write e WriteLine, richiesti dalla classe di base, chiamano MsgBox per visualizzare l'input.The Write and WriteLine methods, required by the base class, call MsgBox to display their input.

    L'attributo HostProtectionAttribute viene applicato ai metodi Write e WriteLine in modo che i relativi attributi corrispondano ai metodi della classe di base.The HostProtectionAttribute attribute is applied to the Write and WriteLine methods so that their attributes match the base class methods. L'attributo HostProtectionAttribute consente all'host che esegue il codice di determinare se il codice espone la sincronizzazione con protezione host.The HostProtectionAttribute attribute allows the host that runs the code to determine that the code exposes host-protection synchronization.

    Nota

    L'attributo HostProtectionAttribute ha effetto solo su applicazioni non gestite che ospitano Common Language Runtime e implementano la protezione host, ad esempio SQL Server.The HostProtectionAttribute attribute is effective only on unmanaged applications that host the common language runtime and that implement host protection, such as SQL Server.

Per assicurarsi che My.Application.Log usi il listener di log, assegnare un nome sicuro all'assembly che contiene il listener di log.To ensure that My.Application.Log uses your log listener, you should strongly name the assembly that contains your log listener.

La procedura seguente prevede alcuni semplici passaggi per la creazione di un assembly di listener di log con nome sicuro.The next procedure provides some simple steps for creating a strongly named log-listener assembly. Per altre informazioni, vedere Creazione e utilizzo degli assembly con nome sicuro.For more information, see Creating and Using Strong-Named Assemblies.

Per assegnare un nome sicuro all'assembly di listener di logTo strongly name the log-listener assembly

  1. Selezionare un progetto in Esplora soluzioni.Have a project selected in Solution Explorer. Scegliere Proprietà dal menu Progetto.On the Project menu, choose Properties.

  2. Fare clic sulla scheda Firma.Click the Signing tab.

  3. Selezionare la casella Firma assembly.Select the Sign the assembly box.

  4. Selezionare <Nuovo> dall'elenco a discesa Scegli un file chiave con nome sicuro.Select <New> from the Choose a strong name key file drop-down list.

    Si aprirà la finestra di dialogo Crea chiave con nome sicuro .The Create Strong Name Key dialog box opens.

  5. Specificare un nome per il file di chiave nella casella Nome file di chiave.Provide a name for the key file in the Key file name box.

  6. Digitare una password nelle caselle Immettere la password e Conferma password.Enter a password in the Enter password and Confirm password boxes.

  7. Fare clic su OK.Click OK.

  8. Ricompilare l'applicazione.Rebuild the application.

Aggiungere il listenerAdding the Listener

Ora che l'assembly ha un nome sicuro è necessario determinare il nome sicuro del listener in modo che My.Application.Log usi il listener di log.Now that the assembly has a strong name, you need to determine the strong name of the listener so that My.Application.Log uses your log listener.

Il formato di un tipo con nome sicuro è il seguente.The format 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>

Per determinare il nome sicuro del listenerTo determine the strong name of the listener

  • Il codice seguente illustra come determinare il nome sicuro del tipo per SimpleListener.The following code shows how to determine the strongly named type name for SimpleListener.

    Public Sub DisplaySimpleListenerStrongName()
        Dim t As Type = GetType(SimpleListener)
        MsgBox(t.FullName & ", " & t.Assembly.FullName)
    End Sub
    

    Il nome sicuro del tipo dipende dal progetto.The strong name of the type depends on your project.

Con il nome sicuro è possibile aggiungere il listener alla raccolta di listener di log My.Application.Log.With the strong name, you can add the listener to the My.Application.Log log-listener collection.

Per aggiungere il listener a My.Application.LogTo add the listener to My.Application.Log

  1. Fare clic con il pulsante destro del mouse su app.config in Esplora soluzioni e scegliere Apri.Right-click on app.config in the Solution Explorer and choose Open.

    -oppure--or-

    Se non è presente un file app.config:If there is an 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 scegliere File di configurazione dell'applicazione.From the Add New Item dialog box, choose 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, in the <source> section with the name attribute "DefaultSource", located 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 located in the <system.diagnostics> section, in the top-level <configuration> section.

  3. Aggiungere l'elemento seguente alla sezione <listeners>:Add this element to the <listeners> section:

    <add name="SimpleLog" />  
    
  4. 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.

  5. Aggiungere l'elemento seguente alla sezione <sharedListeners> :Add this element to that <sharedListeners> section:

    <add name="SimpleLog" type="SimpleLogStrongName" />  
    

    Modificare il valore di SimpleLogStrongName in modo che sia il nome sicuro del listener.Change the value of SimpleLogStrongName to be the strong name of the listener.

Vedere ancheSee also