Partager via


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

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

Pour commencer

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 la classe parente. L’attribut HostProtectionAttribute permet à l’hôte qui exécute le code de déterminer que le code expose la synchronisation de protection de l’hôte.

    Remarque

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

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 Strong-Named.

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

  1. Avoir un projet sélectionné 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. Indiquez un nom pour le fichier de clé dans la zone Nom du fichier 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. Reconstruire 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 fortement nommé est le suivant.

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

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

  • Le code suivant montre comment déterminer le nom de type fortement nommé 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 , puis choisissez 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 Ajouter.

  2. Recherchez la section <listeners>, dans la section <source> avec l’attribut name « DefaultSource », située dans la section <sources>. La <sources> section se trouve dans la <system.diagnostics> section, dans la section de niveau <configuration> supérieur.

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

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

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

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

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

Voir aussi