Share via


Procedura dettagliata: creazione di listener di log personalizzati (Visual Basic)

In questa procedura dettagliata viene illustrato come creare un listener di log personalizzato e configurarlo per l'ascolto dell'output dell'oggetto My.Application.Log.

Introduzione

I listener di log devono ereditare dalla classe TraceListener.

Per creare il listener

  • Nell'applicazione creare una classe denominata SimpleListener che erediti da 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, richiamano MsgBox per visualizzare l'input.

    L'attributo HostProtectionAttribute viene applicato ai metodi Write e WriteLine in modo che i relativi attributi corrispondano ai metodi della classe di base. L'attributo HostProtectionAttribute consente all'host su cui è in esecuzione il codice di determinare se il codice esegue la sincronizzazione di protezione host.

    Nota

    L'attributo HostProtectionAttribute è efficace solo in applicazioni non gestite sui cui è in esecuzione Common Language Runtime e che implementano la protezione host, quale SQL Server.

Per assicurarsi che in My.Application.Log venga utilizzato il listener di log creato, assegnare un nome sicuro all'assembly che contiene il listener di log.

Nella prossima procedura vengono illustrati alcuni semplici passaggi per la creazione di un assembly del listener di log con un nome sicuro. Per ulteriori informazioni, vedere Creazione e utilizzo degli assembly con nome sicuro.

Per assegnare un nome sicuro all'assembly del listener di log

  1. Selezionare un progetto in Esplora soluzioni. Scegliere Proprietà dal menu Progetto. Per ulteriori informazioni, vedere Introduzione a Progettazione progetti.

  2. Fare clic sulla scheda Firma.

  3. Selezionare la casella Firma assembly.

  4. Selezionare <Nuova...> dall'elenco a discesa Scegli un file chiave con nome sicuro.

    Verrà visualizzata la finestra di dialogo Crea chiave con nome sicuro.

  5. Fornire un nome al file della chiave nella casella Nome file di chiave.

  6. Immettere una password nelle caselle Enter password e Conferma password.

  7. Scegliere OK.

  8. Ricompilare l'applicazione.

Aggiunta del listener

Una volta assegnato un nome sicuro all'assembly, è necessario determinare il nome sicuro del listener in modo che in My.Application.Log venga applicato il listener di log creato.

Il formato di un tipo di nome sicuro è il seguente.

<nome tipo>, <nome assembly>, <numero versione>, <impostazioni cultura>, <nome sicuro>

Per determinare il nome sicuro del listener

  • Nel codice mostrato di seguito viene illustrato come determinare il tipo di nome sicuro per SimpleListener.

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

    Il nome sicuro per un tipo dipende dal progetto.

Con un nome sicuro, è possibile aggiungere il listener alla raccolta del listener di log My.Application.Log.

Per aggiungere il listener a My.Application.Log

  1. Fare clic su app.config con il pulsante destro del mouse in Esplora soluzioni, quindi scegliere Apri.

    In alternativa

    Se è presente un file app.config:

    1. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    2. Nella finestra di dialogo Aggiungi nuovo elemento, selezionare File di configurazione dell'applicazione.

    3. Scegliere Aggiungi.

  2. Individuare la sezione <listeners>, nella sezione <source> con l'attributo "DefaultSource" name, che si trova nella sezione <sources>. La sezione <sources> si trova all'interno della sezione <system.diagnostics>, nella sezione di livello superiore <configuration>.

  3. Aggiungere questo elemento alla sezione <listeners>:

    <add name="SimpleLog" />
    
  4. Individuare la sezione <sharedListeners>, contenuta nella sezione <system.diagnostics>, a sua volta contenuta nella sezione <configuration> di primo livello.

  5. Aggiungere l'elemento alla sezione <sharedListeners>:

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

    Modificare il valore di SimpleLogStrongName in modo che sia il nome sicuro del listener.

Vedere anche

Attività

Procedura: registrare eccezioni in Visual Basic

Procedura: scrivere messaggi di log (Visual Basic)

Procedura dettagliata: modifica della posizione di inserimento delle informazioni con My.Application.Log (Visual Basic)

Riferimenti

Log

Concetti

Utilizzo dei log applicazione in Visual Basic