Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

EventLog, classe

Fournit une interaction avec les journaux des événements Windows.

Espace de noms :  System.Diagnostics
Assembly :  System (dans System.dll)

public class EventLog : Component, ISupportInitialize

Le type EventLog expose les membres suivants.

  NomDescription
Méthode publiqueEventLog()Initialise une nouvelle instance de la classe EventLog. N'associe pas l'instance à un journal.
Méthode publiqueEventLog(String)Initialise une nouvelle instance de la classe EventLog. Associe l'instance à un journal sur l'ordinateur local.
Méthode publiqueEventLog(String, String)Initialise une nouvelle instance de la classe EventLog. Associe l'instance à un journal sur l'ordinateur spécifié.
Méthode publiqueEventLog(String, String, String)Initialise une nouvelle instance de la classe EventLog. Associe l'instance à un journal sur l'ordinateur spécifié et crée ou assigne la source spécifiée à EventLog.
Début

  NomDescription
Propriété protégéeCanRaiseEventsObtient une valeur qui indique si le composant peut déclencher un événement. (Hérité de Component.)
Propriété publiqueContainerObtient le IContainer qui contient Component. (Hérité de Component.)
Propriété protégéeDesignModeObtient une valeur qui indique si Component est actuellement en mode design. (Hérité de Component.)
Propriété publiqueEnableRaisingEventsObtient ou définit une valeur indiquant si l'instance de EventLog reçoit les notifications d'un événement EntryWritten.
Propriété publiqueEntriesObtient le contenu du journal des événements.
Propriété protégéeEventsObtient la liste des gestionnaires d'événements attachés à ce Component. (Hérité de Component.)
Propriété publiqueLogObtient ou définit le nom du journal à utiliser en lecture ou en écriture.
Propriété publiqueLogDisplayNameObtient le nom convivial du journal des événements.
Propriété publiqueMachineNameObtient ou définit le nom de l'ordinateur à utiliser pour lire ou écrire les événements.
Propriété publiqueMaximumKilobytesObtient ou définit la taille maximale du journal des événements en kilo-octets.
Propriété publiqueMinimumRetentionDaysIndique la durée de conservation en jours des entrées du journal des événements.
Propriété publiqueOverflowActionObtient le comportement configuré pour le stockage des nouvelles entrées lorsque le journal des événements atteint sa taille de fichier maximale.
Propriété publiqueSiteObtient ou définit le ISite de Component. (Hérité de Component.)
Propriété publiqueSourceObtient ou définit le nom de la source à inscrire et à utiliser lors de l'écriture d'entrées dans le journal des événements.
Propriété publiqueSynchronizingObjectObtient ou définit l'objet utilisé pour marshaler des appels du gestionnaire d'événements consécutifs à un événement Entry written de EventLog.
Début

  NomDescription
Méthode publiqueBeginInitCommence l'initialisation d'un EventLog utilisé dans un formulaire ou par un autre composant. L'initialisation se produit au moment de l'exécution.
Méthode publiqueClearSupprime toutes les entrées du journal des événements.
Méthode publiqueCloseFerme le journal des événements et libère les handles de lecture et d'écriture.
Méthode publiqueMembre statiqueCreateEventSource(EventSourceCreationData)Définit une source d'événements valide pour l'écriture de messages d'événements localisés, à l'aide des propriétés de configuration spécifiées pour la source d'événements et le journal des événements correspondant.
Méthode publiqueMembre statiqueCreateEventSource(String, String)Établit le nom de source spécifié comme étant une source d'événement valide pour enregistrer des entrées dans un journal sur l'ordinateur local. Cette méthode peut également créer un nouveau journal personnalisé sur l'ordinateur local.
Méthode publiqueMembre statiqueCreateEventSource(String, String, String) Obsolète. Établit le nom de source spécifié comme étant une source d'événement valide pour enregistrer des entrées dans un journal sur l'ordinateur spécifié. Cette méthode peut également être utilisée pour créer un nouveau journal personnalisé sur l'ordinateur spécifié.
Méthode publiqueCreateObjRefCrée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject.)
Méthode publiqueMembre statiqueDelete(String)Supprime un journal des événements de l'ordinateur local.
Méthode publiqueMembre statiqueDelete(String, String)Supprime un journal des événements de l'ordinateur spécifié.
Méthode publiqueMembre statiqueDeleteEventSource(String)Supprime l'inscription de la source d'événements du journal des événements de l'ordinateur local.
Méthode publiqueMembre statiqueDeleteEventSource(String, String)Supprime l'inscription de la source d'événements de l'application sur l'ordinateur spécifié.
Méthode publiqueDispose()Libère toutes les ressources utilisées par Component. (Hérité de Component.)
Méthode protégéeDispose(Boolean)Libère les ressources non managées utilisées par EventLog et éventuellement les ressources managées. (Substitue Component.Dispose(Boolean).)
Méthode publiqueEndInitTermine l'initialisation d'un EventLog utilisé dans un formulaire ou par un autre composant. L'initialisation se produit au moment de l'exécution.
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueMembre statiqueExists(String)Détermine si le journal existe sur l'ordinateur local.
Méthode publiqueMembre statiqueExists(String, String)Détermine si le journal existe sur l'ordinateur spécifié.
Méthode protégéeFinalizeLibère les ressources non managées et exécute d'autres opérations de nettoyage avant la récupération de Component par le garbage collection. (Hérité de Component.)
Méthode publiqueMembre statiqueGetEventLogs()Recherche tous les journaux des événements sur l'ordinateur local et crée un tableau des objets EventLog qui contiennent la liste.
Méthode publiqueMembre statiqueGetEventLogs(String)Recherche tous les journaux des événements sur l'ordinateur spécifié et crée un tableau des objets EventLog qui contiennent la liste.
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetLifetimeServiceRécupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode protégéeGetServiceRetourne un objet qui représente un service fourni par Component ou par son Container. (Hérité de Component.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueInitializeLifetimeServiceObtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode publiqueMembre statiqueLogNameFromSourceNameObtient le nom du journal dans lequel la source spécifiée est inscrite.
Méthode protégéeMemberwiseClone()Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégéeMemberwiseClone(Boolean)Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject.)
Méthode publiqueModifyOverflowPolicyModifie le comportement configuré pour l'écriture de nouvelles entrées lorsque le journal des événements atteint sa taille de fichier maximale.
Méthode publiqueRegisterDisplayNameSpécifie le nom localisé du journal des événements qui est affiché sur l'Observateur d'événements du serveur.
Méthode publiqueMembre statiqueSourceExists(String)Détermine si une source d'événements est inscrite dans l'ordinateur local.
Méthode publiqueMembre statiqueSourceExists(String, String)Détermine si une source d'événements est inscrite dans un ordinateur spécifié.
Méthode publiqueToStringRetourne String contenant le nom du Component, s'il existe. Cette méthode ne doit pas être substituée. (Hérité de Component.)
Méthode publiqueWriteEntry(String)Écrit une entrée de type information, avec le texte de message donné, dans le journal des événements.
Méthode publiqueWriteEntry(String, EventLogEntryType)Écrit une entrée d'erreur, d'avertissement, d'information, d'audit des succès ou des échecs avec le texte de message donné, dans le journal des événements.
Méthode publiqueMembre statiqueWriteEntry(String, String)Écrit une entrée de type information, avec le texte de message donné, dans le journal des événements, à l'aide de la source d'événements inscrite spécifiée.
Méthode publiqueWriteEntry(String, EventLogEntryType, Int32)Écrit une entrée avec le texte de message donné et l'identificateur d'événements défini par l'application, dans le journal des événements.
Méthode publiqueMembre statiqueWriteEntry(String, String, EventLogEntryType)Écrit une entrée d'erreur, d'avertissement, d'information, d'audit des succès ou des échecs avec le texte de message donné, dans le journal des événements, à l'aide de la source d'événements inscrite spécifiée.
Méthode publiqueWriteEntry(String, EventLogEntryType, Int32, Int16)Écrit une entrée avec le texte de message donné, l'identificateur de l'événement défini par l'application et la catégorie définie par l'application, dans le journal des événements.
Méthode publiqueMembre statiqueWriteEntry(String, String, EventLogEntryType, Int32)Écrit une entrée avec le texte de message donné et l'identificateur d'événements défini par l'application, dans le journal des événements, à l'aide de la source d'événements inscrite spécifiée.
Méthode publiqueWriteEntry(String, EventLogEntryType, Int32, Int16, Byte[])Écrit une entrée avec le texte de message donné, l'identificateur de l'événement défini par l'application et la catégorie définie par l'application, dans le journal des événements, et ajoute des données binaires au message.
Méthode publiqueMembre statiqueWriteEntry(String, String, EventLogEntryType, Int32, Int16)Écrit une entrée avec le texte de message donné, l'identificateur de l'événement défini par l'application et la catégorie définie par l'application, dans le journal des événements, à l'aide de la source d'événements inscrite spécifiée. category peut être utilisée par l'Observateur d'événements pour le filtrage des événements du journal.
Méthode publiqueMembre statiqueWriteEntry(String, String, EventLogEntryType, Int32, Int16, Byte[])Écrit une entrée avec le texte de message donné, l'identificateur de l'événement défini par l'application et la catégorie définie par l'application, dans le journal des événements (à l'aide de la source d'événements inscrite spécifiée), et ajoute des données binaires au message.
Méthode publiqueWriteEvent(EventInstance, Object[])Écrit une entrée localisée dans le journal des événements.
Méthode publiqueWriteEvent(EventInstance, Byte[], Object[])Écrit une entrée dans un journal des événements avec les données d'événement, les chaînes de remplacement de message et les données binaires associées données.
Méthode publiqueMembre statiqueWriteEvent(String, EventInstance, Object[])Écrit une entrée dans un journal des événements avec les données d'événement et les chaînes de remplacement de message à l'aide de la source d'événement inscrite spécifiée.
Méthode publiqueMembre statiqueWriteEvent(String, EventInstance, Byte[], Object[])Écrit une entrée dans un journal des événements avec les données d'événement, les chaînes de remplacement de message et les données binaires associées données et à l'aide de la source d'événement inscrite spécifiée.
Début

  NomDescription
Événement publicDisposedSe produit lorsque le composant est supprimé par un appel à la méthode Dispose. (Hérité de Component.)
Événement publicEntryWrittenSe produit lorsqu'une entrée est écrite dans un journal des événements sur l'ordinateur local.
Début

EventLog vous permet d'accéder ou de personnaliser les journaux des événements Windows, qui enregistrent des informations sur les événements logiciels ou matériels importants. À l'aide de EventLog, vous pouvez lire les journaux existants, écrire des entrées dans les journaux, créer ou supprimer des sources d'événements, supprimer des journaux et répondre aux entrées de journal. Vous pouvez également créer de nouveaux journaux lors de la création d'une source d'événements.

Remarque importanteImportant

Ce type implémente l'interface IDisposable. En fin d'utilisation, vous devez le libérer directement ou indirectement. Pour le libérer directement, appeler la méthode Dispose dans un bloc try/catch. Pour le libérer indirectement, utiliser l'instruction using (en C#) ou Using (en Visual Basic). Pour plus d'information, aller à la section "Utilisation d'un objet qui implémente l'interface IDisposable" dans la description de l'interface IDisposable.

In addition to providing access to individual event logs and their entries, the EventLog class lets you access the collection of all event logs. Vous pouvez utiliser les static membres de EventLog pour supprimer les journaux, obtenir les listes de journaux, créer ou supprimer une source ou déterminer si un ordinateur contient déjà une source particulière.

Trois journaux des événements par défaut sont disponibles : applications, système et sécurité. A Security log is read-only. Other applications and services you install, such as Active Directory, might have additional event logs.

There are security considerations when using the EventLog class. EventLog requires EventLogPermission permissions for specific actions in the .NET Framework 2.0 and later versions, or full trust in the .NET Framework 1.0 and 1.1. We recommend that EventLogPermission not be granted to partially trusted code. You should never pass any event log object, including EventLogEntryCollection and EventLogEntry objects, to less trusted code. For example, creating an EventLog object, writing an entry, and then passing the EventLog object to partially trusted code can create a security issue, because the ability to read and write to the event log allows code to perform actions such as issuing event log messages in the name of another application.

Starting with Windows Vista, User Account Control (UAC) determines the credentials of a user. Si vous êtes membre du groupe Administrateurs intégrés, deux jetons d'accès au moment de l'exécution vous sont assignés : un jeton d'accès utilisateur standard et un jeton d'accès administrateur. Par défaut, vous êtes dans le rôle d'utilisateur standard. To run the code that accesses the Security log, you must first elevate your credentials from standard user to administrator. You can do this when you start an application by opening the shortcut menu for the application (if you're using a mouse, right-click the application icon) and indicating that you want to run as an administrator.

Vous pouvez utiliser EventLog pour créer des journaux des événements personnalisés que vous pouvez afficher par l'intermédiaire de l'Observateur d'événements du serveur. Utilisez la méthode RegisterDisplayName pour afficher un nom localisé pour votre journal des événements dans l'Observateur d'événements. Utilisez la méthode ModifyOverflowPolicy pour configurer le comportement de votre journal des événements lorsqu'il atteint sa taille maximale.

To read from an event log, specify the log name (Log property) and server computer name (MachineName property for the event log. If you don't specify the server computer name, the local computer, ".", is assumed. It's not necessary to specify the event source (Source property), because a source is required only for writing to logs. The Entries property is automatically populated with the event log's list of entries.

To write to an event log, specify or create an event source (Source property). You must have administrative credentials on the computer to create a new event source. The event source registers your application with the event log as a valid source of entries. You can use the event source to write to only one log at a time. The Source property can be any random string, but the name must be distinct from other sources on the computer. The event source is typically the name of the application or another identifying string. Trying to create a duplicate Source value throws an exception. Cependant, un seul journal des événements peut être associé à de multiples sources.

If the event source for the event log associated with the EventLog instance doesn't exist, a new event source is created. To create an event source in Windows Vista and later or Windows Server 2003, you must have administrative credentials.

This requirement is because all event logs, including Security logs, must be searched to determine whether the event source is unique. Starting with Windows Vista, users do not have permission to access the Security log; therefore, a SecurityException is thrown.

Remarque importanteImportant

La création ou la suppression d'une source d'événements requiert la synchronisation du code sous-jacent à l'aide d'un mutex nommé. If a highly privileged application locks the named mutex, trying to create or delete an event source causes the application to stop responding until the lock is released. To help prevent this problem, never grant UnmanagedCode permission to untrusted code. De plus, l'autorisation UnmanagedCode permettant potentiellement d'ignorer d'autres autorisations, elle ne doit être accordée qu'à un code à niveau de confiance extrêmement élevé.

Applications and services should write to the Application log or to a custom log. Les pilotes de périphériques doivent écrire dans le journal système. Si vous ne définissez pas explicitement la propriété Log, le journal des événements par défaut est le journal des applications.

RemarqueRemarque

Rien ne peut empêcher une application d'écrire comme toute source inscrite. Si l'autorisation Write est accordée à une application, cette dernière peut écrire des événements pour n'importe quelle source valide inscrite sur l'ordinateur.

Utilisez les méthodes WriteEvent et WriteEntry pour écrire des événements dans un journal des événements. Vous devez spécifier une source d'événements pour écrire des événements ; vous devez créer et configurer la source d'événements avant d'écrire la première entrée avec la source.

Créez 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. If the operating system hasn't refreshed its list of event sources, and you try to write an event with the new source, the write operation will fail. You can configure a new source by using an EventLogInstaller object or the CreateEventSource method. You must have administrative credentials on the computer to create a new event source.

Chaque source ne peut écrire que dans un seul journal des événements ; toutefois, votre application peut utiliser des sources multiples afin d'écrire dans plusieurs journaux des événements. Par exemple, votre application peut requérir des sources multiples configurées pour des journaux des événements ou des fichiers de ressources différents. Pour modifier les détails de configuration d'une source existante, vous devez supprimer cette source, puis la créer avec la nouvelle configuration. If other applications or components use the existing source, create a new source with the updated configuration instead of deleting the existing source.

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. Your application can write event log entries by using resource identifiers instead of specifying the actual string values. Refer to the EventLogInstaller and EventSourceCreationData classes for more information about configuring your source with resource files.

If your application writes string values directly to the event log, you do not have to set the resource file properties for the source. La source doit être configurée pour l'écriture d'entrées localisées ou l'écriture de chaînes directes. Si votre application écrit des entrées composées d'identificateurs de ressource et de valeurs de chaîne, vous devez enregistrer deux sources séparées. Configurez par exemple une source avec des fichiers de ressources, puis utilisez cette source dans la méthode WriteEvent pour écrire des entrées utilisant des identificateurs de ressource dans le journal des événements. Créez ensuite une autre source, sans fichiers de ressources, et utilisez-la dans la méthode WriteEntry pour écrire des chaînes directement dans le journal des événements.

Lorsque vous écrivez des événements, vous devez spécifier au moins une chaîne de message ou l'identificateur de ressource pour une chaîne de message. Les autres propriétés d'événements sont facultatives. Examples of optional event settings include the following:

  • You can set the EventLogEntryType to specify the icon that the Event Viewer displays for the entry.

  • You can specify a category identifier for the event, if your application uses categories for filtering the events.

  • You can attach binary data to your event entry if you want to associate additional information with a given event.

Remarque importanteImportant

L'enregistrement d'événements dans le journal consomme de l'espace disque, du temps ainsi que d'autres ressources du système. Il est important d'enregistrer uniquement les informations essentielles. We recommend that you place event log calls in an error path, rather than in the main code path, so they don't adversely affect performance.

Pour obtenir la liste des valeurs de propriétés initiales d'une instance de EventLog, consultez le constructeur EventLog.

Remarque sur la plateforme  : Ces journaux des événements ne sont pas pris en charge sur Windows 98 ou Windows Millennium Edition (Me).

The following example creates the event source MySource if it doesn't already exist, and writes an entry to the event log MyNewLog.

RemarqueRemarque

À partir de Windows Vista, vous devez lancer cette application en tant qu'administrateur.


using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource"))
        {
             //An event log source should not be created and immediately used.
             //There is a latency time to enable the source, it should be created
             //prior to executing the application that uses the source.
             //Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatedEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.");

    }
}
   


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft