Procédure pas à pas : création d'écouteurs de journalisation personnalisés (Visual Basic)

Cette procédure pas à pas illustre comment créer un écouteur de journalisation personnalisé et le configurer pour écouter la sortie de l’objet My.Application.Log.

Mise en route

Les écouteurs de journalisation doivent hériter de la classe TraceListener.

Pour créer l’écouteur

  • Dans votre application, créez une classe nommée SimpleListener qui hérite de 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
    

    Les méthodes Write et WriteLine, requises par la classe de base, appellent MsgBox pour afficher leur entrée.

    L’attribut HostProtectionAttribute est appliqué aux méthodes Write et WriteLine afin que leurs attributs correspondent aux méthodes de classe de base. L’attribut HostProtectionAttribute permet à l’hôte qui exécute le code de déterminer que ce dernier expose la synchronisation de la protection de l’hôte.

    Notes

    L’attribut HostProtectionAttribute n’est effectif que sur les applications non managées, telles que SQL Server, qui hébergent le Common Language Runtime et implémentent la protection de l’hôte.

Pour vérifier que My.Application.Log utilise votre écouteur de journalisation, vous devez attribuer un nom fort à l’assembly qui le contient.

La procédure suivante fournit des étapes simples pour créer un assembly d’écouteur de journalisation portant un nom fort. Pour plus d’informations, consultez Création et utilisation d’assemblys avec nom fort.

Pour attribuer un nom fort à l’assembly de l’écouteur de journalisation

  1. Sélectionnez un projet dans l' Explorateur de solutions. Dans le menu Projet , choisissez Propriétés.

  2. Cliquez sur l'onglet Signature .

  3. Sélectionnez la zone Signer l'assembly .

  4. Sélectionnez <Nouveau> dans la liste déroulante Choisir un fichier de clé de nom fort.

    La boîte de dialogue Créer une clé de nom fort s’ouvre.

  5. Fournissez un nom pour le fichier de clé dans la zone Nom du fichier de clé.

  6. Entrez un mot de passe dans les zones Entrer le mot de passe et Confirmer le mot de passe.

  7. Cliquez sur OK.

  8. Régénérez l’application.

Ajout de l’écouteur

Maintenant que l’assembly a un nom fort, vous devez déterminer le nom fort de l’écouteur afin que My.Application.Log utilise votre écouteur de journalisation.

Le format d’un type portant un nom fort se présente comme suit.

<nom type>, <nom assembly>, <numéro version>, <culture>, <nom fort>

Pour déterminer le nom fort de l’écouteur

  • Le code suivant indique comment déterminer le nom de type fort pour SimpleListener.

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

    Le nom fort du type dépend de votre projet.

Avec le nom fort, vous pouvez ajouter l’écouteur à la collection de l’écouteur de journalisation My.Application.Log.

Pour ajouter l’écouteur à My.Application.Log

  1. Cliquez avec le bouton droit sur app.config dans l’Explorateur de solutions et sélectionnez Ouvrir.

    -ou-

    S’il existe un fichier app.config :

    1. Dans le menu Projet , choisissez Ajouter un nouvel élément.

    2. Dans la boîte de dialogue Ajouter un nouvel élément , choisissez Fichier de configuration de l’application.

    3. Cliquez sur Add.

  2. Recherchez la section <listeners> dans la section <source> avec l’attribut name « DefaultSource », qui se trouve dans la section <sources> . La section <sources> se trouve dans la section <system.diagnostics> , dans la section <configuration> de plus haut niveau.

  3. Ajoutez cet élément à la section <listeners> :

    <add name="SimpleLog" />
    
  4. Recherchez la section <sharedListeners> dans la section <system.diagnostics> , dans la section <configuration> de plus haut niveau.

  5. Ajoutez cet élément à cette section <sharedListeners> :

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

    Modifiez la valeur de SimpleLogStrongName pour qu’elle soit le nom fort de l’écouteur.

Voir aussi