Share via


Comment : écrire des entrées dans des journaux des événements

Mise à jour : novembre 2007

Lorsque vous consignez une entrée dans un journal des événements, vous devez spécifier le message à écrire dans le journal sous la forme d'une chaîne. Un message doit contenir toutes les informations nécessaires pour interpréter la cause du problème et permettre sa résolution.

Il existe deux méthodes, aussi valides l'une que l'autre, pour écrire une entrée dans un journal des événements. La méthode la plus directe consiste à inscrire une source d'événements dans le journal où doivent être consignées les entrées, puis à instancier un composant et à affecter ce journal à sa propriété Source, et enfin à appeler WriteEntry. Il n'est alors pas nécessaire de définir la propriété Log de l'instance du composant. En effet, le journal est automatiquement déterminé lorsque vous vous connectez à une source déjà inscrite. Pour plus d'informations sur l'inscription d'une source, consultez Comment : ajouter votre application en tant que source d'entrées d'un journal des événements.

Dans la seconde méthode, vous devez instancier un composant EventLog, définir ses propriétés Source, MachineName et Log, puis appeler la méthode WriteEntry. La méthode WriteEntry détermine alors si la source existe déjà et, si tel n'est pas le cas, l'inscrit à la volée.

Pour qu'une entrée soit correctement écrite dans un journal des événements, les conditions suivantes doivent être vérifiées :

  • La source doit être inscrite dans le journal des événements approprié.

    Remarque :

    Pour pouvoir écrire des entrées dans un journal, vous devez d'abord affecter à la propriété Source l'instance du composant EventLog. Lorsque votre composant écrit une entrée, le système vérifie automatiquement si la source spécifiée est inscrite dans le journal des événements dans lequel le composant écrit et appelle CreateEventSource, si nécessaire. 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.

  • Le message spécifié ne doit pas dépasser 16 Ko.

  • Votre application doit posséder des droits d'accès en écriture au journal des événements dans lequel elle tente d'écrire. Pour plus d'informations, consultez Ramifications de sécurité des journaux des événements.

Lors de l'ajout d'une entrée, vous pouvez avoir recours à plusieurs paramètres, notamment le type de l'entrée, un ID spécifique pour l'événement, une catégorie et toute donnée binaire que vous voulez ajouter à l'entrée.

Pour écrire une entrée dans le journal des événements

  1. Instanciez un composant EventLog. Pour plus d'informations, consultez Comment : créer des instances du composant EventLog.

  2. Utilisez la méthode CreateEventSource pour inscrire une source d'événements dans le journal dans lequel vous souhaitez écrire une entrée, en utilisant une chaîne unique pour la source. Affectez à la propriété Source du composant la source que vous avez inscrite. Pour plus d'informations, consultez Comment : configurer des instances du composant EventLog. Spécifiez l'entrée à écrire dans le journal à l'aide de la méthode WriteEntry.

    If Not EventLog.SourceExists("MyApp1") Then
        EventLog.CreateEventSource("MyApp1", "Application")
    End If
    EventLog1.Source = "MyApp1"
    EventLog1.WriteEntry("This is a simple event log entry")
    
         if (!System.Diagnostics.EventLog.SourceExists("MyApp1"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "MyApp1", "Application");
    
            EventLog1.Source = "MyApp";
            EventLog1.WriteEntry("This is a simple event log entry");
    

Pour écrire une entrée localisée dans le journal des événements

  1. Instanciez un composant EventLog. Pour plus d'informations, consultez Comment : créer des instances du composant EventLog.

  2. Pour écrire des entrées localisées dans le journal des événements, utilisez la méthode WriteEvent. Dans ce cas, spécifiez les propriétés des événements avec des identificateurs de ressources plutôt qu'avec des valeurs de chaînes. L'Observateur d'événements utilise les identificateurs de ressources pour afficher les chaînes correspondantes du fichier des ressources localisées de la source. Vous devez inscrire la source avec le fichier de ressources correspondant avant d'écrire des événements à l'aide d'identificateurs de ressources. Pour plus d'informations sur l'inscription d'un fichier de ressources, consultez EventSourceCreationData Class.

    If Not EventLog.SourceExists("MyApp1") Then
        EventLog.CreateEventSource("MyApp1", "Application")
    End If
    EventLog1.Source = "MyApp1"
    EventLog1.WriteEvent(New EventInstance(1, 1), New String() {"message"})
    
         if (!System.Diagnostics.EventLog.SourceExists("MyApp1"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "MyApp1", "Application");
    
            EventLog1.Source = "MyApp";
            EventLog1.WriteEvent(new System.Diagnostics.EventInstance(1, 1), new string[] { "message" });
    

Voir aussi

Tâches

Comment : configurer des instances du composant EventLog

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

Procédure pas à pas : exploration des journaux des événements, des sources d'événements et des entrées

Concepts

Introduction au composant EventLog

Référence

EventLog