Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

EventLog classe

 

Date de publication : novembre 2016

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

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

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Diagnostics.EventLog

public class EventLog : Component, ISupportInitialize

NomDescription
System_CAPS_pubmethodEventLog()

Initialise une nouvelle instance de la classe EventLog. N'associe pas l'instance à un journal.

System_CAPS_pubmethodEventLog(String)

Initialise une nouvelle instance de la classe EventLog. Associe l'instance à un journal sur l'ordinateur local.

System_CAPS_pubmethodEventLog(String, String)

Initialise une nouvelle instance de la classe EventLog. Associe l'instance à un journal sur l'ordinateur spécifié.

System_CAPS_pubmethodEventLog(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.

NomDescription
System_CAPS_protpropertyCanRaiseEvents

Obtient une valeur indiquant si le composant peut déclencher un événement.(Hérité de Component.)

System_CAPS_pubpropertyContainer

Obtient les IContainer qui contient la Component.(Hérité de Component.)

System_CAPS_protpropertyDesignMode

Obtient une valeur qui indique si la Component est actuellement en mode design.(Hérité de Component.)

System_CAPS_pubpropertyEnableRaisingEvents

Obtient ou définit une valeur indiquant si EventLog reçoit les notifications d'un événement EntryWritten.

System_CAPS_pubpropertyEntries

Obtient le contenu du journal des événements.

System_CAPS_protpropertyEvents

Obtient la liste des gestionnaires d’événements associés à cette Component.(Hérité de Component.)

System_CAPS_pubpropertyLog

Obtient ou définit le nom du journal à utiliser en lecture ou en écriture.

System_CAPS_pubpropertyLogDisplayName

Obtient le nom convivial du journal des événements.

System_CAPS_pubpropertyMachineName

Obtient ou définit le nom de l'ordinateur à utiliser pour lire ou écrire les événements.

System_CAPS_pubpropertyMaximumKilobytes

Obtient ou définit la taille maximale du journal des événements en kilo-octets.

System_CAPS_pubpropertyMinimumRetentionDays

Indique la durée de conservation en jours des entrées du journal des événements.

System_CAPS_pubpropertyOverflowAction

Obtient le comportement configuré pour le stockage des nouvelles entrées quand le journal des événements atteint sa taille de fichier maximale.

System_CAPS_pubpropertySite

Obtient ou définit le ISite de la Component.(Hérité de Component.)

System_CAPS_pubpropertySource

Obtient ou définit le nom de la source à inscrire et à utiliser pendant l'écriture d'entrées dans le journal des événements.

System_CAPS_pubpropertySynchronizingObject

Obtient ou définit l'objet utilisé pour marshaler des appels du gestionnaire d'événements consécutifs à un événement EntryWritten de EventLog

NomDescription
System_CAPS_pubmethodBeginInit()

Commence l'initialisation d'un EventLog utilisé dans un formulaire ou par un autre composant. L'initialisation se produit au moment de l'exécution.

System_CAPS_pubmethodClear()

Supprime toutes les entrées du journal des événements.

System_CAPS_pubmethodClose()

Ferme le journal des événements et libère les handles de lecture et d’écriture.

System_CAPS_pubmethodSystem_CAPS_staticCreateEventSource(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.

System_CAPS_pubmethodSystem_CAPS_staticCreateEventSource(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.

System_CAPS_pubmethodSystem_CAPS_staticCreateEventSource(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é.

System_CAPS_pubmethodCreateObjRef(Type)

Crée un objet qui contient toutes les informations requises pour générer un proxy permettant de communiquer avec un objet distant.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodSystem_CAPS_staticDelete(String)

Supprime un journal des événements de l'ordinateur local.

System_CAPS_pubmethodSystem_CAPS_staticDelete(String, String)

Supprime un journal des événements de l'ordinateur spécifié.

System_CAPS_pubmethodSystem_CAPS_staticDeleteEventSource(String)

Supprime l'inscription de la source d'événements du journal des événements de l'ordinateur local.

System_CAPS_pubmethodSystem_CAPS_staticDeleteEventSource(String, String)

Supprime l'inscription de la source d'événements de l'application sur l'ordinateur spécifié.

System_CAPS_pubmethodDispose()

Libère toutes les ressources utilisées par Component.(Hérité de Component.)

System_CAPS_protmethodDispose(Boolean)

Libère les ressources non managées utilisées par le EventLog, et libère éventuellement les ressources managées.(Remplace Component.Dispose(Boolean).)

System_CAPS_pubmethodEndInit()

Termine l'initialisation d'un EventLog utilisé dans un formulaire ou par un autre composant. L'initialisation se produit au moment de l'exécution.

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodSystem_CAPS_staticExists(String)

Détermine si le journal existe sur l'ordinateur local.

System_CAPS_pubmethodSystem_CAPS_staticExists(String, String)

Détermine si le journal existe sur l'ordinateur spécifié.

System_CAPS_protmethodFinalize()

Libère les ressources non managées et exécute d'autres opérations de nettoyage avant la récupération du Component par le garbage collection.(Hérité de Component.)

System_CAPS_pubmethodSystem_CAPS_staticGetEventLogs()

Recherche tous les journaux des événements sur l'ordinateur local et crée un tableau des objets EventLog qui contiennent la liste.

System_CAPS_pubmethodSystem_CAPS_staticGetEventLogs(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.

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetLifetimeService()

Récupère l’objet de service de durée de vie actuelle qui contrôle la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_protmethodGetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.(Hérité de Component.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Obtient 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.)

System_CAPS_pubmethodSystem_CAPS_staticLogNameFromSourceName(String, String)

Obtient le nom du journal dans lequel la source spécifiée est inscrite.

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crée une copie superficielle d’actuel MarshalByRefObject objet.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodModifyOverflowPolicy(OverflowAction, Int32)

Modifie le comportement configuré pour l'écriture de nouvelles entrées quand le journal des événements atteint sa taille de fichier maximale.

System_CAPS_pubmethodRegisterDisplayName(String, Int64)

Spécifie le nom localisé du journal des événements qui est affiché sur l'Observateur d'événements du serveur.

System_CAPS_pubmethodSystem_CAPS_staticSourceExists(String)

Détermine si une source d'événements est inscrite dans l'ordinateur local.

System_CAPS_pubmethodSystem_CAPS_staticSourceExists(String, String)

Détermine si une source d'événements est inscrite dans un ordinateur spécifié.

System_CAPS_pubmethodToString()

Retourne un String contenant le nom de la Component, le cas échéant. Cette méthode ne doit pas être remplacée.(Hérité de Component.)

System_CAPS_pubmethodWriteEntry(String)

Écrit une entrée de type information, avec le texte de message donné, dans le journal des événements.

System_CAPS_pubmethodWriteEntry(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.

System_CAPS_pubmethodWriteEntry(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.

System_CAPS_pubmethodWriteEntry(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.

System_CAPS_pubmethodWriteEntry(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.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(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.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(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.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(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.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(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. L'Observateur d'événements peut utiliser category pour le filtrage des événements du journal.

System_CAPS_pubmethodSystem_CAPS_staticWriteEntry(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.

System_CAPS_pubmethodWriteEvent(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.

System_CAPS_pubmethodWriteEvent(EventInstance, Object[])

Écrit une entrée localisée dans le journal des événements.

System_CAPS_pubmethodSystem_CAPS_staticWriteEvent(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.

System_CAPS_pubmethodSystem_CAPS_staticWriteEvent(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.

NomDescription
System_CAPS_pubeventDisposed

Se produit lorsque le composant est supprimé par un appel à la Dispose (méthode).(Hérité de Component.)

System_CAPS_pubeventEntryWritten

Se produit quand une entrée est écrite dans un journal des événements sur l'ordinateur local.

EventLog lets you access or customize Windows event logs, which record information about important software or hardware events. Using EventLog, you can read from existing logs, write entries to logs, create or delete event sources, delete logs, and respond to log entries. You can also create new logs when creating an event source.

System_CAPS_importantImportant

This type implements the T:System.IDisposable interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its M:System.IDisposable.Dispose method in a try/catch block. To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). For more information, see the “Using an Object that Implements IDisposable” section in the T:System.IDisposable interface topic.

In addition to providing access to individual event logs and their entries, the T:System.Diagnostics.EventLog class lets you access the collection of all event logs. You can use the static members of T:System.Diagnostics.EventLog to delete logs, get log lists, create or delete a source, or determine if a computer already contains a particular source.

There are three default event logs: Application, System, and Security. 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 T:System.Diagnostics.EventLog class. T:System.Diagnostics.EventLog requires T:System.Diagnostics.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 T:System.Diagnostics.EventLogPermission not be granted to partially trusted code. You should never pass any event log object, including T:System.Diagnostics.EventLogEntryCollection and T:System.Diagnostics.EventLogEntry objects, to less trusted code. For example, creating an T:System.Diagnostics.EventLog object, writing an entry, and then passing the T:System.Diagnostics.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. If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. By default, you are in the standard user role. 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.

You can use T:System.Diagnostics.EventLog to create custom event logs that you can view through the server's Event Viewer. Use the M:System.Diagnostics.EventLog.RegisterDisplayName(System.String,System.Int64) method to display a localized name for your event log in the Event Viewer. Use the M:System.Diagnostics.EventLog.ModifyOverflowPolicy(System.Diagnostics.OverflowAction,System.Int32) method to configure the behavior of your event log when it reaches its maximum log size.

To read from an event log, specify the log name (P:System.Diagnostics.EventLog.Log property) and server computer name (P:System.Diagnostics.EventLog.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 (P:System.Diagnostics.EventLog.Source property), because a source is required only for writing to logs. The P:System.Diagnostics.EventLog.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 (P:System.Diagnostics.EventLog.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 P:System.Diagnostics.EventLog.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 P:System.Diagnostics.EventLog.Source value throws an exception. However, a single event log can be associated with multiple sources.

If the event source for the event log associated with the T:System.Diagnostics.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 T:System.Security.SecurityException is thrown.

System_CAPS_importantImportant

Creating or deleting an event source requires synchronization of the underlying code by using a named mutex. 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 F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode permission to untrusted code. In addition, F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode permission potentially allows other permissions to be bypassed and should only be granted to highly trusted code.

Applications and services should write to the Application log or to a custom log. Device drivers should write to the System log. If you do not explicitly set the P:System.Diagnostics.EventLog.Log property, the event log defaults to the Application log.

System_CAPS_noteRemarque

There is nothing to protect an application from writing as any registered source. If an application is granted F:System.Diagnostics.EventLogPermissionAccess.Write permission, it can write events for any valid source registered on the computer.

Use the Overload:System.Diagnostics.EventLog.WriteEvent and Overload:System.Diagnostics.EventLog.WriteEntry methods to write events to an event log. You must specify an event source to write events; you must create and configure the event source before writing the first entry with the source.

Create the new event source during the installation of your application. This allows time for the operating system to refresh its list of registered event sources and their 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 T:System.Diagnostics.EventLogInstaller object or the Overload:System.Diagnostics.EventLog.CreateEventSource method. You must have administrative credentials on the computer to create a new event source.

Each source can write to only one event log at a time; however, your application can use multiple sources to write to multiple event logs. For example, your application might require multiple sources configured for different event logs or different resource files. To change the configuration details of an existing source, you must delete the source and then create it with the new configuration. If other applications or components use the existing source, create a new source with the updated configuration instead of deleting the existing source.

You can register the event source with localized resources for your event category and message strings. Your application can write event log entries by using resource identifiers instead of specifying the actual string values. Refer to the T:System.Diagnostics.EventLogInstaller and T:System.Diagnostics.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. The source must be configured either for writing localized entries or for writing direct strings. If your application writes entries using both resource identifiers and string values, you must register two separate sources. For example, configure one source with resource files, and then use that source in the Overload:System.Diagnostics.EventLog.WriteEvent method to write entries using resource identifiers to the event log. Then create a different source without resource files, and use that source in the Overload:System.Diagnostics.EventLog.WriteEntry method to write strings directly to the event log using that source.

When writing events, you must at least specify either a message string or the resource identifier for a message string. Other event properties are optional. Examples of optional event settings include the following:

  • You can set the T:System.Diagnostics.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.

System_CAPS_importantImportant

Event logging consumes disk space, processor time, and other system resources. It is important to log only essential information. 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.

For a list of initial property values for an instance of T:System.Diagnostics.EventLog, see the M:System.Diagnostics.EventLog.#ctor constructor.

Win98WinMe

Event logs are not supported on Windows 98 or 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.

System_CAPS_noteRemarque

Starting with Windows Vista, you must run this application as an administrator.

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
Disponible depuis 1.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: