Comment : configurer des instances du composant EventLog
Mise à jour : novembre 2007
La configuration d'une instance du composant EventLog comporte la définition de trois propriétés importantes :
La propriété Log identifie le journal avec lequel vous voulez interagir.
La propriété MachineName indique l'ordinateur sur lequel réside le journal que vous utilisez.
La propriété Source indique la chaîne source qui sera utilisée pour identifier le composant lorsqu'il ajoute des entrées à un journal.
La manière de configurer l'instance du composant EventLog dépend de l'usage que vous voulez en faire :
Si vous envisagez de consigner des entrées dans un journal, deux options s'offrent à vous : inscrire une source à l'aide de la méthode CreateEventSource et affecter cette même source comme valeur de la propriété Source du composant EventLog, ou bien définir les propriétés MachineName, Log et Source du composant.
Remarque : Vous pouvez définir la propriété Log directement sur votre composant ou la définir dans le code qui inscrit votre composant en tant que source d'événements. Une fois le composant inscrit en tant que source, une connexion liant votre composant à un journal des événements spécifique est définie dans la base de registres du serveur.
Pour être en mesure de lire le contenu d'un journal des événements ou d'en assurer le suivi, vous devez définir les propriétés MachineName et Log pour indiquer le journal à surveiller. Dans ce cas, il n'est pas nécessaire de définir la propriété Source.
Si vous souhaitez que votre composant soit capable de recevoir la notification des événements EntryWritten, vous devez affecter la valeur true à EnableRaisingEvents. Pour plus d'informations, consultez Comment : gérer l'événement EntryWritten.
L'exemple suivant montre comment configurer votre composant pour être en mesure d'ajouter des entrées au journal d'applications. Dans cet exemple, la source n'a pas encore été inscrite dans le journal. Par conséquent, vous devez spécifier la chaîne source, le nom du journal et celui de l'ordinateur. Il n'est pas nécessaire d'appeler la méthode CreateEventSource de manière explicite. En effet, l'appel à WriteEntry inscrira la source dans le journal, si ce n'est pas déjà fait.
Dim EventLog1 As New EventLog("Application", "myserver", "newsource") EventLog1.WriteEntry("Test")
System.Diagnostics.EventLog EventLog1 = new System.Diagnostics.EventLog("Application", "myserver", "newsource"); EventLog1.WriteEntry("Test");
Si la source est déjà inscrite, il vous suffit de définir la propriété Source et de consigner votre entrée. Par exemple, le code suivant montre comment ajouter une entrée à un journal à l'aide d'une source précédemment inscrite.
If Not EventLog.SourceExists("ExistingSourceString") Then EventLog.CreateEventSource("ExistingSourceString", "Application") End If Dim EventLog1 As New EventLog() EventLog1.Source = "ExistingSourceString" EventLog1.WriteEntry("TestEntry2")
if (!System.Diagnostics.EventLog.SourceExists("ExistingSourceString")) System.Diagnostics.EventLog.CreateEventSource( "ExistingSourceString", "Application"); System.Diagnostics.EventLog EventLog1 = new System.Diagnostics.EventLog(); EventLog1.Source = "ExistingSourceString"; EventLog1.WriteEntry("TestEntry2");
Remarque : Si, comme dans ces exemples, vous ne définissez pas la propriété MachineName, il est supposé que vous utilisez l'ordinateur local.
Pour plus d'informations sur ces propriétés, consultez Référencement des journaux des événements.
Les entrées récupérées d'un journal des événements sont réparties en fonction de plusieurs propriétés. Pour plus d'informations sur ces propriétés, consultez EventLog.
Pour configurer une instance du composant EventLog
Créez une instance du composant EventLog. Pour plus d'informations, consultez Comment : créer des instances du composant EventLog.
Définissez la combinaison appropriée des propriétés Log, MachineName et Source :
Pour
Procédez comme suit
Lire et assurer le suivi des journaux des événements
Définissez Log et MachineName
Écrire les entrées d'un journal à l'aide d'une nouvelle chaîne Source
Définissez Source, Log et MachineName
Écrire les entrées d'un journal pour un Source existant
Affectez comme valeur à la propriété Source la source existante ; les autres propriétés sont définies automatiquement.
Pour permettre à l'instance de votre composant de recevoir des notifications de l'événement EntryWritten, affectez à la propriété EnableRaisingEvents la valeur true.
Voir aussi
Tâches
Comment : créer des instances du composant EventLog
Comment : ajouter votre application en tant que source d'entrées d'un journal des événements
Comment : écrire des entrées dans des journaux des événements