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.
[!REMARQUE]
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
Sélectionnez un projet dans l'Explorateur de solutions.Dans le menu Projet, choisissez Propriétés.Pour plus d'informations, consultez Introduction au Concepteur de projets.
Cliquez sur l'onglet Signature.
Sélectionnez la zone Signer l'assembly.
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.
Fournissez un nom pour le fichier de clé dans la zone Nom du fichier de clé.
Entrez un mot de passe dans les zones Entrer le mot de passe et Confirmer le mot de passe.
Cliquez sur OK.
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
Cliquez avec le bouton droit sur app.config dans l'Explorateur de solutions et sélectionnez l'option Ouvrir.
ou
S'il y a un fichier app.config :
Dans le menu Projet, choisissez Ajouter un nouvel élément.
Dans la boîte de dialogue Ajouter un nouvel élément, choisissez Fichier de configuration de l'application.
Cliquez sur Ajouter.
Recherchez la section <listeners>, dans la section <source> avec l'attribut name "DefaultSource", située dans la section <sources>.La section <sources> se trouve dans la section <system.diagnostics>, section <configuration> de niveau supérieur.
Ajoutez cet élément à la section <listeners> :
<add name="SimpleLog" />
Recherchez la section <sharedListeners>, dans la section <system.diagnostics>, dans la section <configuration> de niveau supérieur.
Ajoutez cet élément à la section <sharedListeners> :
<add name="SimpleLog" type="SimpleLogStrongName" />
Modifiez la valeur de SimpleLogStrongName pour qu'elle soit le nom fort de l'écouteur.
Voir aussi
Tâches
Comment : enregistrer des exceptions dans Visual Basic
Comment : écrire des messages de journal (Visual Basic)
Référence
Microsoft.VisualBasic.Logging.Log