Partager via


Comment : créer et supprimer des journaux des événements personnalisés

Mise à jour : novembre 2007

La classe EventLog vous permet de créer un journal des événements personnalisé sur un ordinateur local ou distant. Ce type de journal est utile si vous voulez archiver vos entrées d'une manière plus précise que celle qui est disponible lorsque vos composants ajoutent des entrées dans le journal d'applications par défaut. Supposons qu'un composant OrderEntry entre des informations dans un journal des événements. Vous voulez effectuer une copie de sauvegarde des entrées et les conserver plus longtemps que les entrées du journal d'applications. Pour éviter qu'une fois inscrit, le composant ajoute des entrées dans le journal d'applications, vous pouvez créer un journal des événements personnalisé que vous nommez OrdersLog, puis inscrire le composant de manière à ce que celui-ci consigne les entrées dans ce journal. Ce faisant, toutes les informations sont stockées au même endroit et elles ne sont pas affectées par la suppression des entrées du journal d'applications.

La méthode CreateEventSource peut être utilisée, de manière indirecte, pour créer un journal des événements personnalisé. Cette méthode crée une nouvelle source et vous permet de spécifier dans quel journal des événements les entrées doivent être ajoutées. Si le journal des événements spécifié n'existe pas, le système crée automatiquement un journal des événements personnalisé et inscrit votre composant en tant que source de ce journal.

Remarque :

La suppression d'un journal des événements personnalisé se fait de la même manière que n'importe quel autre journal, à l'aide de la méthode Delete. Pour plus d'informations, consultez Comment : supprimer les journaux des événements.

Il est important de comprendre la différence entre la création d'un journal des événements et la création d'une instance du composant EventLog. Lorsque vous utilisez la méthode CreateEventSource, vous créez un nouveau journal des événements personnalisé dans Windows, et non un composant dans votre projet ou dans votre application. Lorsque vous créez une instance du composant EventLog, vous créez un composant au sein de votre projet, qui fait référence à un journal des événements externe. Les journaux des événements créés à l'aide de la méthode CreateEventSource peuvent être visualisés dans l'Observateur d'événements, contrairement aux instances du composant.

Remarque :

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.

Les journaux des événements personnalisés peuvent quant à eux être visualisés dans l'Explorateur de serveurs, ou dans la fenêtre Gestion de l'ordinateur de Windows 2000. Pour plus d'informations, consultez Comment : utiliser des journaux des événements dans l'Explorateur de serveurs ou Comment : lancer l'Observateur d'événements à partir de l'Explorateur de serveurs.

Pour être en mesure de créer et de supprimer des journaux des événements sur un ordinateur distant, vous devez disposer des droits d'accès appropriés. Pour plus d'informations, consultez Ramifications de sécurité des journaux des événements.

Note de sécurité :

Sachez, lorsque vous créez un journal des événements, que la ressource peut déjà exister. Il est possible qu'un autre processus, peut-être nuisible, ait déjà créé la ressource et puisse y accéder. Lorsque vous placez des données dans le journal des événements, elles sont disponibles pour les autres processus. Pour plus d'informations sur les journaux des événements existants, consultez Comment : vérifier l'existence d'un événement spécifique.

Pour créer un journal des événements personnalisé

  • Appelez la méthode CreateEventSource et spécifiez la chaîne source et le nom du fichier journal à créer.

    Remarque :

    Si vous spécifiez null ("") pour le nom de journal, celui-ci prend par défaut le nom du journal d'applications. Aucun nouveau journal n'est créé, mais la source spécifiée est inscrite pour le journal d'applications. Si vous créez un journal, seules les huit premières lettres sont évaluées pour déterminer l'unicité du nom.

    L'exemple suivant montre comment créer un journal des événements personnalisé MyNewLog sur un ordinateur local. Ce code suppose qu'il existe une instruction Imports ou using pour l'espace de noms System.Diagnostics :

    EventLog.CreateEventSource("ApplicationName", "LogName")
    
         System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "LogName");
    

    Pour créer un journal des événements personnalisé sur un ordinateur distant, spécifiez le nom de l'ordinateur en tant que troisième paramètre. Le code suivant est fourni à titre d'exemple.

    Dim creationData As New EventSourceCreationData("ApplicationName", "LogName")
    creationData.MachineName = "ServerName"
    EventLog.CreateEventSource(creationData)
    
         System.Diagnostics.EventSourceCreationData creationData = new
                System.Diagnostics.EventSourceCreationData("ApplicationName", "LogName");
            creationData.MachineName = "ServerName";
            EventLog.CreateEventSource(creationData);
    

Voir aussi

Tâches

Comment : supprimer les journaux des événements

Comment : utiliser des journaux des événements dans l'Explorateur de serveurs

Comment : lancer l'Observateur d'événements à partir de l'Explorateur de serveurs

Concepts

Ramifications de sécurité des journaux des événements

Introduction au composant EventLog

Référence

EventLog

Autres ressources

Gestion des journaux des événements