Comment : ajouter votre application en tant que source d'entrées d'un journal des événements
Mise à jour : novembre 2007
Pour qu'un composant puisse ajouter une entrée à un journal des événements, vous devez au préalable l'inscrire dans le journal en tant que source d'événements valide. Vous pouvez pour ce faire utiliser la méthode CreateEventSource et spécifier une chaîne qui identifie votre composant de manière unique dans le journal des événements. Lors de l'écriture d'une entrée dans un journal des événements, le système utilise la source spécifiée pour rechercher le journal approprié, dans lequel placer l'entrée. L'instance de votre composant EventLog ne peut écrire que dans un seul journal des événements à la fois.
Remarque : |
---|
Par défaut, si vous tentez d'écrire une entrée sans avoir au préalable inscrit le composant en tant que source valide, le système inscrit automatiquement la source dans le journal des événements, en utilisant la valeur de la propriété Source comme chaîne source. En général, vous devez créer la nouvelle source d'événements pendant l'installation de votre application. Cela laisse au système d'exploitation le temps d'actualiser sa liste de sources d'événements inscrites et leur configuration. Si le système d'exploitation n'a pas actualisé sa liste de sources d'événements et que vous essayez d'écrire un événement avec la nouvelle source, l'opération d'écriture échouera. Si la création de la source pendant l'installation n'est pas envisageable, essayez de créer la source avant la première opération d'écriture, par exemple, pendant l'initialisation de votre application. Si vous retenez cette approche, assurez-vous votre code d'initialisation s'exécute avec les droits d'administrateur sur l'ordinateur. Ces droits sont requis pour créer des sources d'événements. |
Si, lors de l'utilisation de la méthode CreateEventSource, vous spécifiez le nom d'un journal inexistant, le système crée un nouveau journal des événements personnalisé doté de ce nom, la première fois que vous tentez d'ajouter une entrée au journal. Pour plus d'informations, consultez Comment : créer et supprimer des journaux des événements personnalisés.
Vous pouvez inscrire la source d'événements avec des ressources localisées pour votre catégorie d'événements et des chaînes de message. Votre application peut écrire des entrées de journal des événements en utilisant des identificateurs de ressources, plutôt qu'en spécifiant les valeurs de chaînes réelles. Reportez-vous aux classes EventLogInstaller et EventSourceCreationData pour plus d'informations sur la configuration de votre source avec des fichiers de ressources.
Pour définir le composant en tant que source d'événements
Pour créer des entrées sur l'ordinateur local, appelez la méthode CreateEventSource, puis spécifiez la chaîne source et le nom du journal en tant que paramètres.
Remarque : Si vous spécifiez null (" ") pour le nom de journal, celui-ci prend par défaut le nom Application.
L'exemple suivant montre comment inscrire votre composant MyApp1 en tant que source pour le journal d'applications. Ce code suppose qu'il existe une instruction Imports ou using pour l'espace de noms System.Diagnostics :
EventLog.CreateEventSource("MyApp1", "Application")
System.Diagnostics.EventLog.CreateEventSource("MyApp1", "Application");
Conseil : Pour créer une source d'événements sur un ordinateur distant, utilisez EventSourceCreationData. Le code suivant est fourni à titre d'exemple :
Dim creationData As New EventSourceCreationData("ApplicationName", "Application") creationData.MachineName = "ServerName" EventLog.CreateEventSource(creationData)
System.Diagnostics.EventSourceCreationData creationData = new System.Diagnostics.EventSourceCreationData("ApplicationName", "Application"); creationData.MachineName = "ServerName"; EventLog.CreateEventSource(creationData);
Voir aussi
Tâches
Comment : vérifier l'existence d'une source d'événements
Comment : supprimer une source d'événements
Comment : créer et supprimer des journaux des événements personnalisés
Concepts
Introduction au composant EventLog