EventLog.WriteEvent Méthode

Définition

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

Surcharges

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

WriteEvent(EventInstance, Object[])

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

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

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

WriteEvent(String, EventInstance, Object[])

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

É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.

public:
 static void WriteEvent(System::String ^ source, System::Diagnostics::EventInstance ^ instance, ... cli::array <System::Object ^> ^ values);
public static void WriteEvent (string source, System.Diagnostics.EventInstance instance, params object[] values);
static member WriteEvent : string * System.Diagnostics.EventInstance * obj[] -> unit
Public Shared Sub WriteEvent (source As String, instance As EventInstance, ParamArray values As Object())

Paramètres

source
String

Nom de la source d'événement inscrite pour l'application sur l'ordinateur spécifié.

instance
EventInstance

Instance de EventInstance qui représente une entrée localisée dans le journal des événements.

values
Object[]

Tableau de chaînes à fusionner dans le texte du message de l’entrée de journal des événements.

Exceptions

La valeur source est une chaîne vide ("").

- ou -

source a la valeur null.

- ou -

instance.InstanceId est inférieur à zéro ou supérieur à UInt16.MaxValue.

- ou -

values a plus de 256 éléments.

- ou -

L'un des éléments values dépasse 32 766 octets.

- ou -

Le nom de source fournit un chemin d'accès de clé de Registre dépassant 254 caractères.

instance a la valeur null.

La clé de Registre du journal des événements n'a pas pu être ouverte.

Le système d'exploitation a signalé une erreur lors de l'écriture de l'entrée d'événement dans le journal des événements. Un code d'erreur Windows n'est pas disponible.

Exemples

L’exemple suivant écrit une entrée d’événement d’information et une entrée d’événement d’avertissement dans un journal des événements existant. Le texte du message d’événement est spécifié à l’aide d’un identificateur de ressource dans un fichier de ressources. L’exemple suppose que le fichier de ressources correspondant a été inscrit pour la source.

String^ sourceName = "SampleApplicationSource";
if ( EventLog::SourceExists( sourceName ) )
{
   
   // Define an informational event and a warning event.
   // The message identifiers correspond to the message text in the
   // message resource file defined for the source.
   EventInstance ^ myInfoEvent = gcnew EventInstance( InformationMsgId,0,EventLogEntryType::Information );
   EventInstance ^ myWarningEvent = gcnew EventInstance( WarningMsgId,0,EventLogEntryType::Warning );
   
   // Insert the method name into the event log message.
   array<String^>^insertStrings = {"EventLogSamples.WriteEventSample2"};
   
   // Write the events to the event log.
   EventLog::WriteEvent( sourceName, myInfoEvent, 0 );
   
   // Append binary data to the warning event entry.
   array<Byte>^binaryData = {7,8,9,10};
   EventLog::WriteEvent( sourceName, myWarningEvent, binaryData, insertStrings );
}
else
{
   Console::WriteLine( "Warning - event source {0} not registered", sourceName );
}

string sourceName = "SampleApplicationSource";
if(EventLog.SourceExists(sourceName))
{

    // Define an informational event and a warning event.

    // The message identifiers correspond to the message text in the
    // message resource file defined for the source.
    EventInstance myInfoEvent = new EventInstance(InformationMsgId, 0, EventLogEntryType.Information);
    EventInstance myWarningEvent = new EventInstance(WarningMsgId, 0, EventLogEntryType.Warning);

    // Insert the method name into the event log message.
    string [] insertStrings = {"EventLogSamples.WriteEventSample2"};

    // Write the events to the event log.

    EventLog.WriteEvent(sourceName, myInfoEvent);

    // Append binary data to the warning event entry.
    byte [] binaryData = { 7, 8, 9, 10 };
    EventLog.WriteEvent(sourceName, myWarningEvent, binaryData, insertStrings);
}
else
{
    Console.WriteLine("Warning - event source {0} not registered",
        sourceName);
}
           Dim sourceName As String = "SampleApplicationSource"
           If EventLog.SourceExists(sourceName)
  
               ' Define an informational event and a warning event.

               ' The message identifiers correspond to the message text in the
               ' message resource file defined for the source.
               Dim myInfoEvent As EventInstance = new EventInstance(InformationMsgId, 0, EventLogEntryType.Information)
               Dim myWarningEvent As EventInstance = new EventInstance(WarningMsgId, 0, EventLogEntryType.Warning)

               ' Insert the method name into the event log message.
               Dim insertStrings() As String = {"EventLogSamples.WriteEventSample2"}
           
               ' Write the events to the event log.

               EventLog.WriteEvent(sourceName, myInfoEvent, insertStrings)

               ' Append binary data to the warning event entry.
               Dim binaryData() As Byte = { 7, 8, 9, 10 }
               EventLog.WriteEvent(sourceName, myWarningEvent, binaryData, insertStrings)
           Else 
               Console.WriteLine("Warning - event source {0} not registered", _
                   sourceName)
           End If

L’exemple utilise le fichier texte de message suivant, intégré à la bibliothèque de ressources EventLogMsgs.dll. Un fichier texte de message est la source à partir de laquelle le fichier de ressources de message est créé. Le fichier texte du message définit les identificateurs de ressource et le texte pour la catégorie, le message d’événement et les chaînes d’insertion de paramètre.

; // EventLogMsgs.mc  
; // ********************************************************  

; // Use the following commands to build this file:  

; //   mc -s EventLogMsgs.mc  
; //   rc EventLogMsgs.rc  
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res   
; // ********************************************************  

; // - Event categories -  
; // Categories must be numbered consecutively starting at 1.  
; // ********************************************************  

MessageId=0x1  
Severity=Success  
SymbolicName=INSTALL_CATEGORY  
Language=English  
Installation  
.  

MessageId=0x2  
Severity=Success  
SymbolicName=QUERY_CATEGORY  
Language=English  
Database Query  
.  

MessageId=0x3  
Severity=Success  
SymbolicName=REFRESH_CATEGORY  
Language=English  
Data Refresh  
.  

; // - Event messages -  
; // *********************************  

MessageId = 1000  
Severity = Success  
Facility = Application  
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000  
Language=English  
My application message text, in English, for message id 1000, called from %1.  
.  

MessageId = 1001  
Severity = Warning  
Facility = Application  
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001  
Language=English  
My application message text, in English, for message id 1001, called from %1.  
.  

MessageId = 1002  
Severity = Success  
Facility = Application  
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002  
Language=English  
My generic information message in English, for message id 1002.  
.  

MessageId = 1003  
Severity = Warning  
Facility = Application  
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003  
Language=English  
My generic warning message in English, for message id 1003, called from %1.  
.  

MessageId = 1004  
Severity = Success  
Facility = Application  
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004  
Language=English  
The update cycle is complete for %%5002.  
.  

MessageId = 1005  
Severity = Warning  
Facility = Application  
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005  
Language=English  
The refresh operation did not complete because the connection to server %1 could not be established.  
.  

; // - Event log display name -  
; // ********************************************************  

MessageId = 5001  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID  
Language=English  
Sample Event Log  
.  

; // - Event message parameters -  
; //   Language independent insertion strings  
; // ********************************************************  

MessageId = 5002  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID  
Language=English  
SVC_UPDATE.EXE  
.  

Remarques

Utilisez cette méthode pour écrire une entrée localisée dans le journal des événements, à l’aide d’une source déjà inscrite en tant que source d’événements pour le journal approprié. Vous spécifiez les propriétés d’événement avec des identificateurs de ressource plutôt que des valeurs de chaîne. Le observateur d'événements utilise les identificateurs de ressource pour afficher les chaînes correspondantes à partir du fichier de ressources localisé pour la source. Vous devez inscrire la source auprès du fichier de ressources correspondant avant d’écrire des événements à l’aide d’identificateurs de ressource.

Le instance d’entrée instance spécifie le message et les propriétés de l’événement. Définissez l’entrée InstanceIdinstance pour le message défini dans le fichier de ressource de message source. Vous pouvez éventuellement définir et CategoryIdEntryType de l’entrée instance pour définir la catégorie et le type d’événement de votre entrée d’événement. Vous pouvez également spécifier un tableau de chaînes indépendantes de la langue à insérer dans le texte du message localisé. Définissez values sur null si le message d’événement ne contient pas d’espaces réservés de mise en forme pour les chaînes de remplacement.

La source spécifiée doit être inscrite pour un journal des événements avant d’utiliser WriteEvent. La source spécifiée doit être configurée pour écrire des entrées localisées dans le journal ; la source doit au minimum avoir un fichier de ressources de message défini.

Vous devez créer et configurer la source de l’événement avant d’écrire la première entrée avec la source. Create la nouvelle source d’événement lors de l’installation de votre application. Cela laisse le temps au système d’exploitation d’actualiser sa liste des 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 tentez d’écrire un événement avec la nouvelle source, l’opération d’écriture échoue. Vous pouvez configurer une nouvelle source à l’aide d’un EventLogInstaller, ou à l’aide de la CreateEventSource méthode . Vous devez disposer des droits d’administration sur l’ordinateur pour créer une source d’événement.

La source doit être configurée pour écrire des entrées localisées ou pour écrire des chaînes directes. Utilisez la WriteEntry méthode si votre application écrit des valeurs de chaîne directement dans le journal des événements.

Si votre application écrit des entrées à l’aide d’identificateurs de ressource et de valeurs de chaîne, vous devez inscrire deux sources distinctes. Par exemple, configurez une source avec des fichiers de ressources, puis utilisez cette source dans la WriteEvent méthode pour écrire des entrées à l’aide d’identificateurs de ressource dans le journal des événements. Créez ensuite une autre source sans fichiers de ressources et utilisez cette source dans la WriteEntry méthode pour écrire des chaînes directement dans le journal des événements à l’aide de cette source.

Voir aussi

S’applique à

WriteEvent(EventInstance, Object[])

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

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

public:
 void WriteEvent(System::Diagnostics::EventInstance ^ instance, ... cli::array <System::Object ^> ^ values);
public void WriteEvent (System.Diagnostics.EventInstance instance, params object[] values);
[System.Runtime.InteropServices.ComVisible(false)]
public void WriteEvent (System.Diagnostics.EventInstance instance, params object[] values);
member this.WriteEvent : System.Diagnostics.EventInstance * obj[] -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.WriteEvent : System.Diagnostics.EventInstance * obj[] -> unit
Public Sub WriteEvent (instance As EventInstance, ParamArray values As Object())

Paramètres

instance
EventInstance

Instance de EventInstance qui représente une entrée localisée dans le journal des événements.

values
Object[]

Tableau de chaînes à fusionner dans le texte du message de l’entrée de journal des événements.

Attributs

Exceptions

La propriété Source de EventLog n'a pas été définie.

- ou -

La méthode a tenté d'inscrire un nouvel événement source, mais le nom d'ordinateur figurant dans MachineName n'est pas valide.

- ou -

La source est déjà inscrite pour un journal des événements différent.

- ou -

instance.InstanceId est inférieur à zéro ou supérieur à UInt16.MaxValue.

- ou -

values a plus de 256 éléments.

- ou -

L'un des éléments values dépasse 32 766 octets.

- ou -

Le nom de source fournit un chemin d'accès de clé de Registre dépassant 254 caractères.

instance a la valeur null.

La clé de Registre du journal des événements n'a pas pu être ouverte.

Le système d'exploitation a signalé une erreur lors de l'écriture de l'entrée d'événement dans le journal des événements. Un code d'erreur Windows n'est pas disponible.

Exemples

L’exemple suivant écrit deux entrées d’audit dans le journal des événements myNewLog. L’exemple crée une source d’événements et un nouveau journal des événements s’ils n’existent pas sur l’ordinateur local. Le texte du message d’événement est spécifié à l’aide d’un identificateur de ressource dans un fichier de ressources.

// Create the event source if it does not exist.
String^ sourceName = "SampleApplicationSource";
if (  !EventLog::SourceExists( sourceName ) )
{
   
   // Call a local method to register the event log source
   // for the event log "myNewLog."  Use the resource file
   // EventLogMsgs.dll in the current directory for message text.
   String^ messageFile = String::Format( "{0}\\{1}", System::Environment::CurrentDirectory, "EventLogMsgs.dll" );
   CreateEventSourceSample1( messageFile );
}

// Get the event log corresponding to the existing source.
String^ myLogName = EventLog::LogNameFromSourceName( sourceName, "." );
EventLog^ myEventLog = gcnew EventLog( myLogName,".",sourceName );

// Define two audit events.
// The message identifiers correspond to the message text in the
// message resource file defined for the source.
EventInstance ^ myAuditSuccessEvent = gcnew EventInstance( AuditSuccessMsgId,0,EventLogEntryType::SuccessAudit );
EventInstance ^ myAuditFailEvent = gcnew EventInstance( AuditFailedMsgId,0,EventLogEntryType::FailureAudit );

// Insert the method name into the event log message.
array<String^>^insertStrings = {"EventLogSamples.WriteEventSample1"};

// Write the events to the event log.
myEventLog->WriteEvent( myAuditSuccessEvent, insertStrings );

// Append binary data to the audit failure event entry.
array<Byte>^binaryData = {3,4,5,6};
myEventLog->WriteEvent( myAuditFailEvent, binaryData, insertStrings );

// Create the event source if it does not exist.
string sourceName = "SampleApplicationSource";
if(!EventLog.SourceExists(sourceName))
{
    // Call a local method to register the event log source
    // for the event log "myNewLog."  Use the resource file
    // EventLogMsgs.dll in the current directory for message text.

    string messageFile =  String.Format("{0}\\{1}",
        System.Environment.CurrentDirectory,
        "EventLogMsgs.dll");

    CreateEventSourceSample1(messageFile);
}

// Get the event log corresponding to the existing source.
string myLogName = EventLog.LogNameFromSourceName(sourceName,".");

EventLog myEventLog = new EventLog(myLogName, ".", sourceName);

// Define two audit events.

// The message identifiers correspond to the message text in the
// message resource file defined for the source.
EventInstance myAuditSuccessEvent = new EventInstance(AuditSuccessMsgId, 0, EventLogEntryType.SuccessAudit);
EventInstance myAuditFailEvent = new EventInstance(AuditFailedMsgId, 0, EventLogEntryType.FailureAudit);

// Insert the method name into the event log message.
string [] insertStrings = {"EventLogSamples.WriteEventSample1"};

// Write the events to the event log.

myEventLog.WriteEvent(myAuditSuccessEvent, insertStrings);

// Append binary data to the audit failure event entry.
byte [] binaryData = { 3, 4, 5, 6 };
myEventLog.WriteEvent(myAuditFailEvent, binaryData, insertStrings);

           Dim sourceName As String = "SampleApplicationSource"

           ' Create the event source if it does not exist.
           If Not EventLog.SourceExists(sourceName)
  
               ' Call a local method to register the event log source
               ' for the event log "myNewLog."  Use the resource file
               ' EventLogMsgs.dll in the current directory for message text.

               Dim messageFile As String =  String.Format("{0}\\{1}", _
                   System.Environment.CurrentDirectory, _
                   "EventLogMsgs.dll")

               CreateEventSourceSample1(messageFile)
           End If 

           ' Get the event log corresponding to the existing source.
           Dim myLogName As String = EventLog.LogNameFromSourceName(sourceName,".")
       
           Dim myEventLog As EventLog = new EventLog(myLogName, ".", sourceName)

           ' Define two audit events.
           Dim myAuditSuccessEvent As EventInstance = new EventInstance(AuditSuccessMsgId, 0, EventLogEntryType.SuccessAudit)
           Dim myAuditFailEvent As EventInstance = new EventInstance(AuditFailedMsgId, 0, EventLogEntryType.FailureAudit)

           ' Insert the method name into the event log message.
           Dim insertStrings() As String = {"EventLogSamples.WriteEventSample1"}
           
           ' Write the events to the event log.

           myEventLog.WriteEvent(myAuditSuccessEvent, insertStrings)

           ' Append binary data to the audit failure event entry.
           Dim binaryData() As Byte = { 7, 8, 9, 10 }
           myEventLog.WriteEvent(myAuditFailEvent, binaryData, insertStrings)

L’exemple utilise le fichier texte de message suivant, intégré à la bibliothèque de ressources EventLogMsgs.dll. Un fichier texte de message est la source à partir de laquelle le fichier de ressources de message est créé. Le fichier texte du message définit les identificateurs de ressource et le texte pour la catégorie, le message d’événement et les chaînes d’insertion de paramètre.

; // EventLogMsgs.mc  
; // ********************************************************  

; // Use the following commands to build this file:  

; //   mc -s EventLogMsgs.mc  
; //   rc EventLogMsgs.rc  
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res   
; // ********************************************************  

; // - Event categories -  
; // Categories must be numbered consecutively starting at 1.  
; // ********************************************************  

MessageId=0x1  
Severity=Success  
SymbolicName=INSTALL_CATEGORY  
Language=English  
Installation  
.  

MessageId=0x2  
Severity=Success  
SymbolicName=QUERY_CATEGORY  
Language=English  
Database Query  
.  

MessageId=0x3  
Severity=Success  
SymbolicName=REFRESH_CATEGORY  
Language=English  
Data Refresh  
.  

; // - Event messages -  
; // *********************************  

MessageId = 1000  
Severity = Success  
Facility = Application  
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000  
Language=English  
My application message text, in English, for message id 1000, called from %1.  
.  

MessageId = 1001  
Severity = Warning  
Facility = Application  
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001  
Language=English  
My application message text, in English, for message id 1001, called from %1.  
.  

MessageId = 1002  
Severity = Success  
Facility = Application  
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002  
Language=English  
My generic information message in English, for message id 1002.  
.  

MessageId = 1003  
Severity = Warning  
Facility = Application  
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003  
Language=English  
My generic warning message in English, for message id 1003, called from %1.  
.  

MessageId = 1004  
Severity = Success  
Facility = Application  
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004  
Language=English  
The update cycle is complete for %%5002.  
.  

MessageId = 1005  
Severity = Warning  
Facility = Application  
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005  
Language=English  
The refresh operation did not complete because the connection to server %1 could not be established.  
.  

; // - Event log display name -  
; // ********************************************************  

MessageId = 5001  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID  
Language=English  
Sample Event Log  
.  

; // - Event message parameters -  
; //   Language independent insertion strings  
; // ********************************************************  

MessageId = 5002  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID  
Language=English  
SVC_UPDATE.EXE  
.  

Remarques

Utilisez cette méthode pour écrire une entrée localisée dans le journal des événements. Vous spécifiez les propriétés d’événement avec des identificateurs de ressource plutôt que des valeurs de chaîne. Le observateur d'événements utilise les identificateurs de ressource pour afficher les chaînes correspondantes à partir du fichier de ressources localisé pour .Source Vous devez inscrire la source auprès du fichier de ressources correspondant avant d’écrire des événements à l’aide d’identificateurs de ressource.

Le instance d’entrée instance spécifie le message et les propriétés de l’événement. Définissez l’entrée InstanceIdinstance pour le message défini dans le fichier de ressource de message source. Vous pouvez éventuellement définir et CategoryIdEntryType de l’entrée instance pour définir la catégorie et le type d’événement de votre entrée d’événement. Vous pouvez également spécifier un tableau de chaînes indépendantes de la langue à insérer dans le texte du message localisé. Définissez values sur null si le message d’événement ne contient pas d’espaces réservés de mise en forme pour les chaînes de remplacement.

Vous devez définir la Source propriété sur votre EventLog composant avant d’utiliser WriteEvent. La source spécifiée doit être configurée pour écrire des entrées localisées dans le journal ; la source doit au minimum avoir un fichier de ressources de message défini.

Vous devez créer et configurer la source de l’événement avant d’écrire la première entrée avec la source. Create la nouvelle source d’événement lors de l’installation de votre application. Cela laisse le temps au système d’exploitation d’actualiser sa liste des 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 tentez d’écrire un événement avec la nouvelle source, l’opération d’écriture échoue. Vous pouvez configurer une nouvelle source à l’aide d’un EventLogInstaller, ou à l’aide de la CreateEventSource méthode . Vous devez disposer des droits d’administration sur l’ordinateur pour créer une source d’événement.

La source doit être configurée pour écrire des entrées localisées ou pour écrire des chaînes directes. Utilisez la WriteEntry méthode si votre application écrit des valeurs de chaîne directement dans le journal des événements.

Si votre application écrit des entrées à l’aide d’identificateurs de ressource et de valeurs de chaîne, vous devez inscrire deux sources distinctes. Par exemple, configurez une source avec des fichiers de ressources, puis utilisez cette source dans la WriteEvent méthode pour écrire des entrées à l’aide d’identificateurs de ressource dans le journal des événements. Créez ensuite une autre source sans fichiers de ressources et utilisez cette source dans la WriteEntry méthode pour écrire des chaînes directement dans le journal des événements à l’aide de cette source.

Notes

Si vous écrivez une entrée sur un ordinateur distant, la valeur de la message chaîne peut ne pas correspondre à ce que vous attendez si l’ordinateur distant n’exécute pas le .NET Framework. En outre, la message chaîne ne peut pas contenir %n, où n est une valeur entière (par exemple, %1), car l’observateur d’événements la traite comme une chaîne d’insertion. Étant donné qu’une adresse IPv6 (Protocole Internet version 6) peut contenir cette séquence de caractères, vous ne pouvez pas enregistrer un message d’événement qui contient une adresse IPv6.

Voir aussi

S’applique à

WriteEvent(EventInstance, Byte[], Object[])

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

É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.

public:
 void WriteEvent(System::Diagnostics::EventInstance ^ instance, cli::array <System::Byte> ^ data, ... cli::array <System::Object ^> ^ values);
public void WriteEvent (System.Diagnostics.EventInstance instance, byte[] data, params object[] values);
[System.Runtime.InteropServices.ComVisible(false)]
public void WriteEvent (System.Diagnostics.EventInstance instance, byte[] data, params object[] values);
member this.WriteEvent : System.Diagnostics.EventInstance * byte[] * obj[] -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.WriteEvent : System.Diagnostics.EventInstance * byte[] * obj[] -> unit
Public Sub WriteEvent (instance As EventInstance, data As Byte(), ParamArray values As Object())

Paramètres

instance
EventInstance

Instance de EventInstance qui représente une entrée localisée dans le journal des événements.

data
Byte[]

Tableau d'octets contenant les données binaires associées à l'entrée.

values
Object[]

Tableau de chaînes à fusionner dans le texte du message de l’entrée de journal des événements.

Attributs

Exceptions

La propriété Source de EventLog n'a pas été définie.

- ou -

La méthode a tenté d'inscrire un nouvel événement source, mais le nom d'ordinateur figurant dans MachineName n'est pas valide.

- ou -

La source est déjà inscrite pour un journal des événements différent.

- ou -

instance.InstanceId est inférieur à zéro ou supérieur à UInt16.MaxValue.

- ou -

values a plus de 256 éléments.

- ou -

L'un des éléments values dépasse 32 766 octets.

- ou -

Le nom de source fournit un chemin d'accès de clé de Registre dépassant 254 caractères.

instance a la valeur null.

La clé de Registre du journal des événements n'a pas pu être ouverte.

Le système d'exploitation a signalé une erreur lors de l'écriture de l'entrée d'événement dans le journal des événements. Un code d'erreur Windows n'est pas disponible.

Exemples

L’exemple suivant écrit deux entrées d’audit dans le journal des événements myNewLog. L’exemple crée une source d’événements et un nouveau journal des événements s’ils n’existent pas sur l’ordinateur local. Le texte du message d’événement est spécifié à l’aide d’un identificateur de ressource dans un fichier de ressources.

// Create the event source if it does not exist.
String^ sourceName = "SampleApplicationSource";
if (  !EventLog::SourceExists( sourceName ) )
{
   
   // Call a local method to register the event log source
   // for the event log "myNewLog."  Use the resource file
   // EventLogMsgs.dll in the current directory for message text.
   String^ messageFile = String::Format( "{0}\\{1}", System::Environment::CurrentDirectory, "EventLogMsgs.dll" );
   CreateEventSourceSample1( messageFile );
}

// Get the event log corresponding to the existing source.
String^ myLogName = EventLog::LogNameFromSourceName( sourceName, "." );
EventLog^ myEventLog = gcnew EventLog( myLogName,".",sourceName );

// Define two audit events.
// The message identifiers correspond to the message text in the
// message resource file defined for the source.
EventInstance ^ myAuditSuccessEvent = gcnew EventInstance( AuditSuccessMsgId,0,EventLogEntryType::SuccessAudit );
EventInstance ^ myAuditFailEvent = gcnew EventInstance( AuditFailedMsgId,0,EventLogEntryType::FailureAudit );

// Insert the method name into the event log message.
array<String^>^insertStrings = {"EventLogSamples.WriteEventSample1"};

// Write the events to the event log.
myEventLog->WriteEvent( myAuditSuccessEvent, insertStrings );

// Append binary data to the audit failure event entry.
array<Byte>^binaryData = {3,4,5,6};
myEventLog->WriteEvent( myAuditFailEvent, binaryData, insertStrings );

// Create the event source if it does not exist.
string sourceName = "SampleApplicationSource";
if(!EventLog.SourceExists(sourceName))
{
    // Call a local method to register the event log source
    // for the event log "myNewLog."  Use the resource file
    // EventLogMsgs.dll in the current directory for message text.

    string messageFile =  String.Format("{0}\\{1}",
        System.Environment.CurrentDirectory,
        "EventLogMsgs.dll");

    CreateEventSourceSample1(messageFile);
}

// Get the event log corresponding to the existing source.
string myLogName = EventLog.LogNameFromSourceName(sourceName,".");

EventLog myEventLog = new EventLog(myLogName, ".", sourceName);

// Define two audit events.

// The message identifiers correspond to the message text in the
// message resource file defined for the source.
EventInstance myAuditSuccessEvent = new EventInstance(AuditSuccessMsgId, 0, EventLogEntryType.SuccessAudit);
EventInstance myAuditFailEvent = new EventInstance(AuditFailedMsgId, 0, EventLogEntryType.FailureAudit);

// Insert the method name into the event log message.
string [] insertStrings = {"EventLogSamples.WriteEventSample1"};

// Write the events to the event log.

myEventLog.WriteEvent(myAuditSuccessEvent, insertStrings);

// Append binary data to the audit failure event entry.
byte [] binaryData = { 3, 4, 5, 6 };
myEventLog.WriteEvent(myAuditFailEvent, binaryData, insertStrings);

           Dim sourceName As String = "SampleApplicationSource"

           ' Create the event source if it does not exist.
           If Not EventLog.SourceExists(sourceName)
  
               ' Call a local method to register the event log source
               ' for the event log "myNewLog."  Use the resource file
               ' EventLogMsgs.dll in the current directory for message text.

               Dim messageFile As String =  String.Format("{0}\\{1}", _
                   System.Environment.CurrentDirectory, _
                   "EventLogMsgs.dll")

               CreateEventSourceSample1(messageFile)
           End If 

           ' Get the event log corresponding to the existing source.
           Dim myLogName As String = EventLog.LogNameFromSourceName(sourceName,".")
       
           Dim myEventLog As EventLog = new EventLog(myLogName, ".", sourceName)

           ' Define two audit events.
           Dim myAuditSuccessEvent As EventInstance = new EventInstance(AuditSuccessMsgId, 0, EventLogEntryType.SuccessAudit)
           Dim myAuditFailEvent As EventInstance = new EventInstance(AuditFailedMsgId, 0, EventLogEntryType.FailureAudit)

           ' Insert the method name into the event log message.
           Dim insertStrings() As String = {"EventLogSamples.WriteEventSample1"}
           
           ' Write the events to the event log.

           myEventLog.WriteEvent(myAuditSuccessEvent, insertStrings)

           ' Append binary data to the audit failure event entry.
           Dim binaryData() As Byte = { 7, 8, 9, 10 }
           myEventLog.WriteEvent(myAuditFailEvent, binaryData, insertStrings)

L’exemple utilise le fichier texte de message suivant, intégré à la bibliothèque de ressources EventLogMsgs.dll. Un fichier texte de message est la source à partir de laquelle le fichier de ressources de message est créé. Le fichier texte du message définit les identificateurs de ressource et le texte pour la catégorie, le message d’événement et les chaînes d’insertion de paramètre.

; // EventLogMsgs.mc  
; // ********************************************************  

; // Use the following commands to build this file:  

; //   mc -s EventLogMsgs.mc  
; //   rc EventLogMsgs.rc  
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res   
; // ********************************************************  

; // - Event categories -  
; // Categories must be numbered consecutively starting at 1.  
; // ********************************************************  

MessageId=0x1  
Severity=Success  
SymbolicName=INSTALL_CATEGORY  
Language=English  
Installation  
.  

MessageId=0x2  
Severity=Success  
SymbolicName=QUERY_CATEGORY  
Language=English  
Database Query  
.  

MessageId=0x3  
Severity=Success  
SymbolicName=REFRESH_CATEGORY  
Language=English  
Data Refresh  
.  

; // - Event messages -  
; // *********************************  

MessageId = 1000  
Severity = Success  
Facility = Application  
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000  
Language=English  
My application message text, in English, for message id 1000, called from %1.  
.  

MessageId = 1001  
Severity = Warning  
Facility = Application  
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001  
Language=English  
My application message text, in English, for message id 1001, called from %1.  
.  

MessageId = 1002  
Severity = Success  
Facility = Application  
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002  
Language=English  
My generic information message in English, for message id 1002.  
.  

MessageId = 1003  
Severity = Warning  
Facility = Application  
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003  
Language=English  
My generic warning message in English, for message id 1003, called from %1.  
.  

MessageId = 1004  
Severity = Success  
Facility = Application  
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004  
Language=English  
The update cycle is complete for %%5002.  
.  

MessageId = 1005  
Severity = Warning  
Facility = Application  
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005  
Language=English  
The refresh operation did not complete because the connection to server %1 could not be established.  
.  

; // - Event log display name -  
; // ********************************************************  

MessageId = 5001  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID  
Language=English  
Sample Event Log  
.  

; // - Event message parameters -  
; //   Language independent insertion strings  
; // ********************************************************  

MessageId = 5002  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID  
Language=English  
SVC_UPDATE.EXE  
.  

Remarques

Utilisez cette méthode pour écrire une entrée localisée avec des données supplémentaires spécifiques à l’événement dans le journal des événements. Vous spécifiez les propriétés d’événement avec des identificateurs de ressource plutôt que des valeurs de chaîne. Le observateur d'événements utilise les identificateurs de ressource pour afficher les chaînes correspondantes à partir du fichier de ressources localisé pour .Source Vous devez inscrire la source auprès du fichier de ressources correspondant avant d’écrire des événements à l’aide d’identificateurs de ressource.

Le instance d’entrée instance spécifie le message et les propriétés de l’événement. Définissez l’entrée InstanceIdinstance pour le message défini dans le fichier de ressource de message source. Vous pouvez éventuellement définir et CategoryIdEntryType de l’entrée instance pour définir la catégorie et le type d’événement de votre entrée d’événement. Vous pouvez également spécifier un tableau de chaînes indépendantes de la langue à insérer dans le texte du message localisé. Définissez values sur null si le message d’événement ne contient pas d’espaces réservés de mise en forme pour les chaînes de remplacement.

Spécifiez des données binaires avec un événement lorsqu’il est nécessaire de fournir des détails supplémentaires pour l’événement. Par exemple, utilisez le data paramètre pour inclure des informations sur une erreur spécifique. La observateur d'événements n’interprète pas les données d’événement associées ; elle affiche les données dans un format hexadécimal et texte combiné. Utiliser les données spécifiques à l’événement avec parcimonie ; l’inclure uniquement si vous êtes sûr qu’il sera utile. Vous pouvez également utiliser des données spécifiques à l’événement pour stocker des informations que l’application peut traiter indépendamment des observateur d'événements. Par exemple, vous pouvez écrire une visionneuse spécifiquement pour vos événements, ou écrire un programme qui analyse le journal des événements et crée des rapports qui incluent des informations à partir des données spécifiques à l’événement.

Vous devez définir la Source propriété sur votre EventLog composant avant le composant avant d’utiliser WriteEvent. La source spécifiée doit être configurée pour écrire des entrées localisées dans le journal ; la source doit au minimum avoir un fichier de ressources de message défini.

Vous devez créer et configurer la source de l’événement avant d’écrire la première entrée avec la source. Create la nouvelle source d’événement lors de l’installation de votre application. Cela laisse le temps au système d’exploitation d’actualiser sa liste des 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 tentez d’écrire un événement avec la nouvelle source, l’opération d’écriture échoue. Vous pouvez configurer une nouvelle source à l’aide d’un EventLogInstaller, ou à l’aide de la CreateEventSource méthode . Vous devez disposer des droits d’administration sur l’ordinateur pour créer une source d’événement.

Notes

Si vous ne spécifiez pas de MachineName pour votre EventLog instance avant d’appeler WriteEvent, l’ordinateur local (« . ») est supposé.

La source doit être configurée pour écrire des entrées localisées ou pour écrire des chaînes directes. Utilisez la WriteEntry méthode si votre application écrit des valeurs de chaîne directement dans le journal des événements.

Si votre application écrit des entrées à l’aide d’identificateurs de ressource et de valeurs de chaîne, vous devez inscrire deux sources distinctes. Par exemple, configurez une source avec des fichiers de ressources, puis utilisez cette source dans la WriteEvent méthode pour écrire des entrées à l’aide d’identificateurs de ressource dans le journal des événements. Créez ensuite une autre source sans fichiers de ressources et utilisez cette source dans la WriteEntry méthode pour écrire des chaînes directement dans le journal des événements à l’aide de cette source.

Notes

Si vous écrivez une entrée sur un ordinateur distant, la valeur de la message chaîne peut ne pas correspondre à ce que vous attendez si l’ordinateur distant n’exécute pas le .NET Framework. En outre, la message chaîne ne peut pas contenir %n, où n est une valeur entière (par exemple, %1), car l’observateur d’événements la traite comme une chaîne d’insertion. Étant donné qu’une adresse IPv6 (Protocole Internet version 6) peut contenir cette séquence de caractères, vous ne pouvez pas enregistrer un message d’événement qui contient une adresse IPv6.

Voir aussi

S’applique à

WriteEvent(String, EventInstance, Byte[], Object[])

Source:
EventLog.cs
Source:
EventLog.cs
Source:
EventLog.cs

É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.

public:
 static void WriteEvent(System::String ^ source, System::Diagnostics::EventInstance ^ instance, cli::array <System::Byte> ^ data, ... cli::array <System::Object ^> ^ values);
public static void WriteEvent (string source, System.Diagnostics.EventInstance instance, byte[] data, params object[] values);
static member WriteEvent : string * System.Diagnostics.EventInstance * byte[] * obj[] -> unit
Public Shared Sub WriteEvent (source As String, instance As EventInstance, data As Byte(), ParamArray values As Object())

Paramètres

source
String

Nom de la source d'événement inscrite pour l'application sur l'ordinateur spécifié.

instance
EventInstance

Instance de EventInstance qui représente une entrée localisée dans le journal des événements.

data
Byte[]

Tableau d'octets contenant les données binaires associées à l'entrée.

values
Object[]

Tableau de chaînes à fusionner dans le texte du message de l’entrée de journal des événements.

Exceptions

La valeur source est une chaîne vide ("").

- ou -

source a la valeur null.

- ou -

instance.InstanceId est inférieur à zéro ou supérieur à UInt16.MaxValue.

- ou -

values a plus de 256 éléments.

- ou -

L'un des éléments values dépasse 32 766 octets.

- ou -

Le nom de source fournit un chemin d'accès de clé de Registre dépassant 254 caractères.

instance a la valeur null.

La clé de Registre du journal des événements n'a pas pu être ouverte.

Le système d'exploitation a signalé une erreur lors de l'écriture de l'entrée d'événement dans le journal des événements. Un code d'erreur Windows n'est pas disponible.

Exemples

L’exemple suivant écrit une entrée d’événement d’information et une entrée d’événement d’avertissement dans un journal des événements existant. Le texte du message d’événement est spécifié à l’aide d’un identificateur de ressource dans un fichier de ressources. L’exemple suppose que le fichier de ressources correspondant a été inscrit pour la source.

String^ sourceName = "SampleApplicationSource";
if ( EventLog::SourceExists( sourceName ) )
{
   
   // Define an informational event and a warning event.
   // The message identifiers correspond to the message text in the
   // message resource file defined for the source.
   EventInstance ^ myInfoEvent = gcnew EventInstance( InformationMsgId,0,EventLogEntryType::Information );
   EventInstance ^ myWarningEvent = gcnew EventInstance( WarningMsgId,0,EventLogEntryType::Warning );
   
   // Insert the method name into the event log message.
   array<String^>^insertStrings = {"EventLogSamples.WriteEventSample2"};
   
   // Write the events to the event log.
   EventLog::WriteEvent( sourceName, myInfoEvent, 0 );
   
   // Append binary data to the warning event entry.
   array<Byte>^binaryData = {7,8,9,10};
   EventLog::WriteEvent( sourceName, myWarningEvent, binaryData, insertStrings );
}
else
{
   Console::WriteLine( "Warning - event source {0} not registered", sourceName );
}

string sourceName = "SampleApplicationSource";
if(EventLog.SourceExists(sourceName))
{

    // Define an informational event and a warning event.

    // The message identifiers correspond to the message text in the
    // message resource file defined for the source.
    EventInstance myInfoEvent = new EventInstance(InformationMsgId, 0, EventLogEntryType.Information);
    EventInstance myWarningEvent = new EventInstance(WarningMsgId, 0, EventLogEntryType.Warning);

    // Insert the method name into the event log message.
    string [] insertStrings = {"EventLogSamples.WriteEventSample2"};

    // Write the events to the event log.

    EventLog.WriteEvent(sourceName, myInfoEvent);

    // Append binary data to the warning event entry.
    byte [] binaryData = { 7, 8, 9, 10 };
    EventLog.WriteEvent(sourceName, myWarningEvent, binaryData, insertStrings);
}
else
{
    Console.WriteLine("Warning - event source {0} not registered",
        sourceName);
}
           Dim sourceName As String = "SampleApplicationSource"
           If EventLog.SourceExists(sourceName)
  
               ' Define an informational event and a warning event.

               ' The message identifiers correspond to the message text in the
               ' message resource file defined for the source.
               Dim myInfoEvent As EventInstance = new EventInstance(InformationMsgId, 0, EventLogEntryType.Information)
               Dim myWarningEvent As EventInstance = new EventInstance(WarningMsgId, 0, EventLogEntryType.Warning)

               ' Insert the method name into the event log message.
               Dim insertStrings() As String = {"EventLogSamples.WriteEventSample2"}
           
               ' Write the events to the event log.

               EventLog.WriteEvent(sourceName, myInfoEvent, insertStrings)

               ' Append binary data to the warning event entry.
               Dim binaryData() As Byte = { 7, 8, 9, 10 }
               EventLog.WriteEvent(sourceName, myWarningEvent, binaryData, insertStrings)
           Else 
               Console.WriteLine("Warning - event source {0} not registered", _
                   sourceName)
           End If

L’exemple utilise le fichier texte de message suivant, intégré à la bibliothèque de ressources EventLogMsgs.dll. Un fichier texte de message est la source à partir de laquelle le fichier de ressources de message est créé. Le fichier texte du message définit les identificateurs de ressource et le texte pour la catégorie, le message d’événement et les chaînes d’insertion de paramètre.

; // EventLogMsgs.mc  
; // ********************************************************  

; // Use the following commands to build this file:  

; //   mc -s EventLogMsgs.mc  
; //   rc EventLogMsgs.rc  
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res   
; // ********************************************************  

; // - Event categories -  
; // Categories must be numbered consecutively starting at 1.  
; // ********************************************************  

MessageId=0x1  
Severity=Success  
SymbolicName=INSTALL_CATEGORY  
Language=English  
Installation  
.  

MessageId=0x2  
Severity=Success  
SymbolicName=QUERY_CATEGORY  
Language=English  
Database Query  
.  

MessageId=0x3  
Severity=Success  
SymbolicName=REFRESH_CATEGORY  
Language=English  
Data Refresh  
.  

; // - Event messages -  
; // *********************************  

MessageId = 1000  
Severity = Success  
Facility = Application  
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000  
Language=English  
My application message text, in English, for message id 1000, called from %1.  
.  

MessageId = 1001  
Severity = Warning  
Facility = Application  
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001  
Language=English  
My application message text, in English, for message id 1001, called from %1.  
.  

MessageId = 1002  
Severity = Success  
Facility = Application  
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002  
Language=English  
My generic information message in English, for message id 1002.  
.  

MessageId = 1003  
Severity = Warning  
Facility = Application  
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003  
Language=English  
My generic warning message in English, for message id 1003, called from %1.  
.  

MessageId = 1004  
Severity = Success  
Facility = Application  
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004  
Language=English  
The update cycle is complete for %%5002.  
.  

MessageId = 1005  
Severity = Warning  
Facility = Application  
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005  
Language=English  
The refresh operation did not complete because the connection to server %1 could not be established.  
.  

; // - Event log display name -  
; // ********************************************************  

MessageId = 5001  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID  
Language=English  
Sample Event Log  
.  

; // - Event message parameters -  
; //   Language independent insertion strings  
; // ********************************************************  

MessageId = 5002  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID  
Language=English  
SVC_UPDATE.EXE  
.  

Remarques

Utilisez cette méthode pour écrire une entrée localisée avec des données supplémentaires spécifiques à l’événement dans le journal des événements, en utilisant une source déjà inscrite en tant que source d’événements pour le journal approprié. Vous spécifiez les propriétés d’événement avec des identificateurs de ressource plutôt que des valeurs de chaîne. Le observateur d'événements utilise les identificateurs de ressource pour afficher les chaînes correspondantes à partir du fichier de ressources localisé pour la source. Vous devez inscrire la source auprès du fichier de ressources correspondant avant d’écrire des événements à l’aide d’identificateurs de ressource.

Le instance d’entrée instance spécifie le message et les propriétés de l’événement. Définissez l’entrée InstanceIdinstance pour le message défini dans le fichier de ressource de message source. Vous pouvez éventuellement définir et CategoryIdEntryType de l’entrée instance pour définir la catégorie et le type d’événement de votre entrée d’événement. Vous pouvez également spécifier un tableau de chaînes indépendantes de la langue à insérer dans le texte du message localisé. Définissez values sur null si le message d’événement ne contient pas d’espaces réservés de mise en forme pour les chaînes de remplacement.

Spécifiez des données binaires avec un événement lorsqu’il est nécessaire de fournir des détails supplémentaires pour l’événement. Par exemple, utilisez le data paramètre pour inclure des informations sur une erreur spécifique. La observateur d'événements n’interprète pas les données d’événement associées ; elle affiche les données dans un format hexadécimal et texte combiné. Utiliser les données spécifiques à l’événement avec parcimonie ; l’inclure uniquement si vous êtes sûr qu’il sera utile. Vous pouvez également utiliser des données spécifiques à l’événement pour stocker des informations que l’application peut traiter indépendamment des observateur d'événements. Par exemple, vous pouvez écrire une visionneuse spécifiquement pour vos événements, ou écrire un programme qui analyse le journal des événements et crée des rapports qui incluent des informations à partir des données spécifiques à l’événement.

La source spécifiée doit être inscrite pour un journal des événements avant d’utiliser WriteEvent. La source spécifiée doit être configurée pour écrire des entrées localisées dans le journal ; la source doit au minimum avoir un fichier de ressources de message défini.

Vous devez créer et configurer la source de l’événement avant d’écrire la première entrée avec la source. Create la nouvelle source d’événement lors de l’installation de votre application. Cela laisse le temps au système d’exploitation d’actualiser sa liste des 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 tentez d’écrire un événement avec la nouvelle source, l’opération d’écriture échoue. Vous pouvez configurer une nouvelle source à l’aide d’un EventLogInstaller, ou à l’aide de la CreateEventSource méthode . Vous devez disposer des droits d’administration sur l’ordinateur pour créer une source d’événement.

La source doit être configurée pour écrire des entrées localisées ou pour écrire des chaînes directes. Utilisez la WriteEntry méthode si votre application écrit des valeurs de chaîne directement dans le journal des événements.

Si votre application écrit des entrées à l’aide d’identificateurs de ressource et de valeurs de chaîne, vous devez inscrire deux sources distinctes. Par exemple, configurez une source avec des fichiers de ressources, puis utilisez cette source dans la WriteEvent méthode pour écrire des entrées à l’aide d’identificateurs de ressource dans le journal des événements. Créez ensuite une autre source sans fichiers de ressources et utilisez cette source dans la WriteEntry méthode pour écrire des chaînes directement dans le journal des événements à l’aide de cette source.

Voir aussi

S’applique à