EventLog.WriteEvent Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Honosított eseménybejegyzést ír az eseménynaplóba.
Túlterhelések
| Name | Description |
|---|---|
| WriteEvent(String, EventInstance, Object[]) |
Egy eseménynapló-bejegyzést ír a megadott eseményadatokkal és üzenethelyettesítő sztringekkel a megadott regisztrált eseményforrás használatával. |
| WriteEvent(EventInstance, Object[]) |
Honosított bejegyzést ír az eseménynaplóba. |
| WriteEvent(EventInstance, Byte[], Object[], EventInstance, Byte[], Object[]) |
Eseménynapló-bejegyzést ír a megadott eseményadatokkal, üzenethelyettesítő sztringekkel és a kapcsolódó bináris adatokkal. |
| WriteEvent(String, EventInstance, Byte[], Object[]) |
Eseménynapló-bejegyzést ír a megadott eseményadatokkal, üzenethelyettesítő sztringekkel és a társított bináris adatokkal, valamint a megadott regisztrált eseményforrás használatával. |
WriteEvent(String, EventInstance, Object[])
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
Egy eseménynapló-bejegyzést ír a megadott eseményadatokkal és üzenethelyettesítő sztringekkel a megadott regisztrált eseményforrás használatával.
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);
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éterek
- source
- String
Az alkalmazáshoz regisztrált eseményforrás neve a megadott számítógépen.
- instance
- EventInstance
Egy EventInstance honosított eseménynapló-bejegyzést jelképező példány.
- values
- Object[]
Az eseménynapló-bejegyzés üzenetszövegébe egyesítendő sztringek tömbje.
Kivételek
Az source érték egy üres sztring ("").
-vagy-
Az source érték a következő null: .
-vagy-
instance.InstanceId kisebb, mint nulla vagy nagyobb, mint az UInt16.MaxValue.
-vagy-
values több mint 256 elemből áll.
-vagy-
Az egyik values elem hosszabb, mint 32766 bájt.
-vagy-
A forrásnév 254 karakternél hosszabb beállításkulcs-elérési utat eredményez.
instance az null.
Az eseménynapló beállításkulcsa nem nyitható meg.
Az operációs rendszer hibát jelentett, amikor az eseménybejegyzést az eseménynaplóba írta. Nem érhető el Windows hibakód.
Példák
Az alábbi példa egy tájékoztató eseménybejegyzést és egy figyelmeztető eseménybejegyzést ír egy meglévő eseménynaplóba. Az eseményüzenet szövege erőforrás-azonosítóval van megadva egy erőforrásfájlban. A példa feltételezi, hogy a megfelelő erőforrásfájl regisztrálva van a forráshoz.
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
A példa az erőforrástárba EventLogMsgs.dllbeépített alábbi üzenetszövegfájlt használja. Az üzenetszövegfájl az a forrás, amelyből az üzenet erőforrásfájlja létrejön. Az üzenet szövegfájlja határozza meg a kategória, eseményüzenet és paraméterszúró sztringek erőforrás-azonosítóit és szövegét.
; // 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
.
Megjegyzések
Ezzel a módszerrel honosított bejegyzést írhat az eseménynaplóba egy már eseményforrásként regisztrált forrás használatával a megfelelő naplóhoz. Sztringértékek helyett erőforrás-azonosítókkal adja meg az eseménytulajdonságokat. A eseménymegtekintő az erőforrás-azonosítók használatával jeleníti meg a forrás honosított erőforrásfájljának megfelelő sztringeket. Az események erőforrás-azonosítókkal való írása előtt regisztrálnia kell a forrást a megfelelő erőforrásfájlban.
A bemeneti instance példány megadja az eseményüzenetet és a tulajdonságokat. Állítsa be a InstanceIdinstance megadott üzenet bemenetét a forrásüzenet erőforrásfájljában. Az eseménybejegyzés kategóriájának és eseménytípusának meghatározásához igény szerint beállíthatja CategoryIdEntryType a bemenetet és instance a bemenetet. A honosított üzenet szövegébe beszúrandó nyelvfüggetlen sztringek tömbje is megadható. Állítsa be values , null ha az eseményüzenet nem tartalmaz helyettesítő sztringek formázási helyőrzőit.
A megadott forrást regisztrálni kell egy eseménynaplóban a használat WriteEventelőtt. A megadott forrást úgy kell konfigurálni, hogy honosított bejegyzéseket írjon a naplóba; a forrásnak legalább egy üzeneterőforrás-fájllal kell rendelkeznie.
Az első bejegyzés forrással való írása előtt létre kell hoznia és konfigurálnia kell az eseményforrást. Hozza létre az új eseményforrást az alkalmazás telepítése során. Ez lehetővé teszi, hogy az operációs rendszer frissítse a regisztrált eseményforrások listáját és azok konfigurációját. Ha az operációs rendszer nem frissítette az eseményforrások listáját, és egy eseményt próbál meg írni az új forrással, az írási művelet sikertelen lesz. Új forrást konfigurálhat egy EventLogInstaller, vagy a CreateEventSource metódus használatával. Új eseményforrás létrehozásához rendszergazdai jogosultságokkal kell rendelkeznie a számítógépen.
A forrást honosított bejegyzések írására vagy közvetlen sztringek írására kell konfigurálni. Akkor használja a WriteEntry metódust, ha az alkalmazás sztringértékeket ír közvetlenül az eseménynaplóba.
Ha az alkalmazás erőforrás-azonosítók és sztringértékek használatával is ír bejegyzéseket, két különálló forrást kell regisztrálnia. Konfiguráljon például egy forrást erőforrásfájlokkal, majd használja ezt a forrást a WriteEvent metódusban bejegyzések írásához erőforrás-azonosítók használatával az eseménynaplóba. Ezután hozzon létre egy másik forrást erőforrásfájlok nélkül, és használja ezt a forrást a WriteEntry metódusban, hogy sztringeket írjon közvetlenül az eseménynaplóba ezzel a forrással.
Lásd még
A következőre érvényes:
WriteEvent(EventInstance, Object[])
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
Honosított bejegyzést ír az eseménynaplóba.
public:
void WriteEvent(System::Diagnostics::EventInstance ^ instance, ... cli::array <System::Object ^> ^ values);
public void WriteEvent(System.Diagnostics.EventInstance instance, params object?[]? values);
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éterek
- instance
- EventInstance
Egy EventInstance honosított eseménynapló-bejegyzést jelképező példány.
- values
- Object[]
Az eseménynapló-bejegyzés üzenetszövegébe egyesítendő sztringek tömbje.
- Attribútumok
Kivételek
A Source tulajdonság EventLog nincs beállítva.
-vagy-
A metódus új eseményforrást próbált regisztrálni, de a számítógép neve MachineName érvénytelen.
-vagy-
A forrás már regisztrálva van egy másik eseménynaplóhoz.
-vagy-
instance.InstanceId kisebb, mint nulla vagy nagyobb, mint az UInt16.MaxValue.
-vagy-
values több mint 256 elemből áll.
-vagy-
Az egyik values elem hosszabb, mint 32766 bájt.
-vagy-
A forrásnév 254 karakternél hosszabb beállításkulcs-elérési utat eredményez.
instance az null.
Az eseménynapló beállításkulcsa nem nyitható meg.
Az operációs rendszer hibát jelentett, amikor az eseménybejegyzést az eseménynaplóba írta. Nem érhető el Windows hibakód.
Példák
Az alábbi példa két naplóbejegyzést ír az eseménynaplóba myNewLog. A példa létrehoz egy új eseményforrást és egy új eseménynaplót, ha azok nem léteznek a helyi számítógépen. Az eseményüzenet szövege erőforrás-azonosítóval van megadva egy erőforrásfájlban.
// 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)
A példa az erőforrástárba EventLogMsgs.dllbeépített alábbi üzenetszövegfájlt használja. Az üzenetszövegfájl az a forrás, amelyből az üzenet erőforrásfájlja létrejön. Az üzenet szövegfájlja határozza meg a kategória, eseményüzenet és paraméterszúró sztringek erőforrás-azonosítóit és szövegét.
; // 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
.
Megjegyzések
Ezzel a módszerrel honosított bejegyzést írhat az eseménynaplóba. Sztringértékek helyett erőforrás-azonosítókkal adja meg az eseménytulajdonságokat. A eseménymegtekintő az erőforrás-azonosítókkal jeleníti meg a Source honosított erőforrásfájljának megfelelő sztringeket. Az események erőforrás-azonosítókkal való írása előtt regisztrálnia kell a forrást a megfelelő erőforrásfájlban.
A bemeneti instance példány megadja az eseményüzenetet és a tulajdonságokat. Állítsa be a InstanceIdinstance megadott üzenet bemenetét a forrásüzenet erőforrásfájljában. Az eseménybejegyzés kategóriájának és eseménytípusának meghatározásához igény szerint beállíthatja CategoryIdEntryType a bemenetet és instance a bemenetet. A honosított üzenet szövegébe beszúrandó nyelvfüggetlen sztringek tömbje is megadható. Állítsa be values , null ha az eseményüzenet nem tartalmaz helyettesítő sztringek formázási helyőrzőit.
A használat előtt Sourcebe kell állítania a EventLog tulajdonságot az WriteEvent összetevőn. A megadott forrást úgy kell konfigurálni, hogy honosított bejegyzéseket írjon a naplóba; a forrásnak legalább egy üzeneterőforrás-fájllal kell rendelkeznie.
Az első bejegyzés forrással való írása előtt létre kell hoznia és konfigurálnia kell az eseményforrást. Hozza létre az új eseményforrást az alkalmazás telepítése során. Ez lehetővé teszi, hogy az operációs rendszer frissítse a regisztrált eseményforrások listáját és azok konfigurációját. Ha az operációs rendszer nem frissítette az eseményforrások listáját, és egy eseményt próbál meg írni az új forrással, az írási művelet sikertelen lesz. Új forrást konfigurálhat egy EventLogInstaller, vagy a CreateEventSource metódus használatával. Új eseményforrás létrehozásához rendszergazdai jogosultságokkal kell rendelkeznie a számítógépen.
A forrást honosított bejegyzések írására vagy közvetlen sztringek írására kell konfigurálni. Akkor használja a WriteEntry metódust, ha az alkalmazás sztringértékeket ír közvetlenül az eseménynaplóba.
Ha az alkalmazás erőforrás-azonosítók és sztringértékek használatával is ír bejegyzéseket, két különálló forrást kell regisztrálnia. Konfiguráljon például egy forrást erőforrásfájlokkal, majd használja ezt a forrást a WriteEvent metódusban bejegyzések írásához erőforrás-azonosítók használatával az eseménynaplóba. Ezután hozzon létre egy másik forrást erőforrásfájlok nélkül, és használja ezt a forrást a WriteEntry metódusban, hogy sztringeket írjon közvetlenül az eseménynaplóba ezzel a forrással.
Note
Ha egy bejegyzést egy távoli számítógépre ír, előfordulhat, hogy a message sztring értéke nem az elvárt érték, ha a távoli számítógép nem fut .NET. A sztring message nem tartalmazhat %n értéket, ahol az n egész szám (például %1), mert az eseménynapló beszúrási sztringként kezeli. Mivel az Internet Protocol 6-os (IPv6-) verziója tartalmazhatja ezt a karaktersorozatot, nem naplózhat IPv6-címet tartalmazó eseményüzenetet.
Lásd még
A következőre érvényes:
WriteEvent(EventInstance, Byte[], Object[], EventInstance, Byte[], Object[])
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
Eseménynapló-bejegyzést ír a megadott eseményadatokkal, üzenethelyettesítő sztringekkel és a kapcsolódó bináris adatokkal.
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);
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éterek
- instance
- EventInstance
Egy EventInstance honosított eseménynapló-bejegyzést jelképező példány.
- data
- Byte[]
A bejegyzéshez társított bináris adatokat tartalmazó bájtok tömbje.
- values
- Object[]
Az eseménynapló-bejegyzés üzenetszövegébe egyesítendő sztringek tömbje.
- instance
- EventInstance
Egy EventInstance honosított eseménynapló-bejegyzést jelképező példány.
- data
- Byte[]
A bejegyzéshez társított bináris adatokat tartalmazó bájtok tömbje.
- values
- Object[]
Az eseménynapló-bejegyzés üzenetszövegébe egyesítendő sztringek tömbje.
- Attribútumok
Kivételek
A Source tulajdonság EventLog nincs beállítva.
-vagy-
A metódus új eseményforrást próbált regisztrálni, de a számítógép neve MachineName érvénytelen.
-vagy-
A forrás már regisztrálva van egy másik eseménynaplóhoz.
-vagy-
instance.InstanceId kisebb, mint nulla vagy nagyobb, mint az UInt16.MaxValue.
-vagy-
values több mint 256 elemből áll.
-vagy-
Az egyik values elem hosszabb, mint 32766 bájt.
-vagy-
A forrásnév 254 karakternél hosszabb beállításkulcs-elérési utat eredményez.
instance az null.
Az eseménynapló beállításkulcsa nem nyitható meg.
Az operációs rendszer hibát jelentett, amikor az eseménybejegyzést az eseménynaplóba írta. Nem érhető el Windows hibakód.
Példák
Az alábbi példa két naplóbejegyzést ír az eseménynaplóba myNewLog. A példa létrehoz egy új eseményforrást és egy új eseménynaplót, ha azok nem léteznek a helyi számítógépen. Az eseményüzenet szövege erőforrás-azonosítóval van megadva egy erőforrásfájlban.
// 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)
A példa az erőforrástárba EventLogMsgs.dllbeépített alábbi üzenetszövegfájlt használja. Az üzenetszövegfájl az a forrás, amelyből az üzenet erőforrásfájlja létrejön. Az üzenet szövegfájlja határozza meg a kategória, eseményüzenet és paraméterszúró sztringek erőforrás-azonosítóit és szövegét.
; // 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
.
Megjegyzések
Ezzel a módszerrel honosított bejegyzést írhat további eseményspecifikus adatokkal az eseménynaplóba. Sztringértékek helyett erőforrás-azonosítókkal adja meg az eseménytulajdonságokat. A eseménymegtekintő az erőforrás-azonosítókkal jeleníti meg a Source honosított erőforrásfájljának megfelelő sztringeket. Az események erőforrás-azonosítókkal való írása előtt regisztrálnia kell a forrást a megfelelő erőforrásfájlban.
A bemeneti instance példány megadja az eseményüzenetet és a tulajdonságokat. Állítsa be a InstanceIdinstance megadott üzenet bemenetét a forrásüzenet erőforrásfájljában. Az eseménybejegyzés kategóriájának és eseménytípusának meghatározásához igény szerint beállíthatja CategoryIdEntryType a bemenetet és instance a bemenetet. A honosított üzenet szövegébe beszúrandó nyelvfüggetlen sztringek tömbje is megadható. Állítsa be values , null ha az eseményüzenet nem tartalmaz helyettesítő sztringek formázási helyőrzőit.
Adja meg az eseményhez tartozó bináris adatokat, ha további részleteket kell megadnia az eseményhez. Használja például a paramétert data egy adott hibára vonatkozó információk megadására. A eseménymegtekintő nem értelmezi a kapcsolódó eseményadatokat, hanem kombinált hexadecimális és szöveges formátumban jeleníti meg az adatokat. Eseményspecifikus adatok takarékos használata; csak akkor vegye fel, ha biztos benne, hogy hasznos lesz. Eseményspecifikus adatokkal is tárolhatja azokat az adatokat, amelyeket az alkalmazás a eseménymegtekintő függetlenül feldolgozhat. Írhat például egy megtekintőt kifejezetten az eseményekhez, vagy írhat egy programot, amely beolvassa az eseménynaplót, és olyan jelentéseket hoz létre, amelyek tartalmazzák az eseményspecifikus adatokból származó információkat.
A használat előtt be kell állítania az Source összetevő tulajdonságát EventLog az összetevőn WriteEvent. A megadott forrást úgy kell konfigurálni, hogy honosított bejegyzéseket írjon a naplóba; a forrásnak legalább egy üzeneterőforrás-fájllal kell rendelkeznie.
Az első bejegyzés forrással való írása előtt létre kell hoznia és konfigurálnia kell az eseményforrást. Hozza létre az új eseményforrást az alkalmazás telepítése során. Ez lehetővé teszi, hogy az operációs rendszer frissítse a regisztrált eseményforrások listáját és azok konfigurációját. Ha az operációs rendszer nem frissítette az eseményforrások listáját, és egy eseményt próbál meg írni az új forrással, az írási művelet sikertelen lesz. Új forrást konfigurálhat egy EventLogInstaller, vagy a CreateEventSource metódus használatával. Új eseményforrás létrehozásához rendszergazdai jogosultságokkal kell rendelkeznie a számítógépen.
Note
Ha a hívás MachineNameelőtt nem ad EventLog meg egy példánytWriteEvent, a rendszer a helyi számítógépet (".") feltételezi.
A forrást honosított bejegyzések írására vagy közvetlen sztringek írására kell konfigurálni. Akkor használja a WriteEntry metódust, ha az alkalmazás sztringértékeket ír közvetlenül az eseménynaplóba.
Ha az alkalmazás erőforrás-azonosítók és sztringértékek használatával is ír bejegyzéseket, két különálló forrást kell regisztrálnia. Konfiguráljon például egy forrást erőforrásfájlokkal, majd használja ezt a forrást a WriteEvent metódusban bejegyzések írásához erőforrás-azonosítók használatával az eseménynaplóba. Ezután hozzon létre egy másik forrást erőforrásfájlok nélkül, és használja ezt a forrást a WriteEntry metódusban, hogy sztringeket írjon közvetlenül az eseménynaplóba ezzel a forrással.
Note
Ha egy bejegyzést egy távoli számítógépre ír, előfordulhat, hogy a message sztring értéke nem az elvárt érték, ha a távoli számítógép nem a .NET-keretrendszert futtatja. A sztring message nem tartalmazhat %n értéket, ahol az n egész szám (például %1), mert az eseménynapló beszúrási sztringként kezeli. Mivel az Internet Protocol 6-os (IPv6-) verziója tartalmazhatja ezt a karaktersorozatot, nem naplózhat IPv6-címet tartalmazó eseményüzenetet.
Lásd még
A következőre érvényes:
WriteEvent(String, EventInstance, Byte[], Object[])
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
- Forrás:
- EventLog.cs
Eseménynapló-bejegyzést ír a megadott eseményadatokkal, üzenethelyettesítő sztringekkel és a társított bináris adatokkal, valamint a megadott regisztrált eseményforrás használatával.
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);
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éterek
- source
- String
Az alkalmazáshoz regisztrált eseményforrás neve a megadott számítógépen.
- instance
- EventInstance
Egy EventInstance honosított eseménynapló-bejegyzést jelképező példány.
- data
- Byte[]
A bejegyzéshez társított bináris adatokat tartalmazó bájtok tömbje.
- values
- Object[]
Az eseménynapló-bejegyzés üzenetszövegébe egyesítendő sztringek tömbje.
Kivételek
Az source érték egy üres sztring ("").
-vagy-
Az source érték a következő null: .
-vagy-
instance.InstanceId kisebb, mint nulla vagy nagyobb, mint az UInt16.MaxValue.
-vagy-
values több mint 256 elemből áll.
-vagy-
Az egyik values elem hosszabb, mint 32766 bájt.
-vagy-
A forrásnév 254 karakternél hosszabb beállításkulcs-elérési utat eredményez.
instance az null.
Az eseménynapló beállításkulcsa nem nyitható meg.
Az operációs rendszer hibát jelentett, amikor az eseménybejegyzést az eseménynaplóba írta. Nem érhető el Windows hibakód.
Példák
Az alábbi példa egy tájékoztató eseménybejegyzést és egy figyelmeztető eseménybejegyzést ír egy meglévő eseménynaplóba. Az eseményüzenet szövege erőforrás-azonosítóval van megadva egy erőforrásfájlban. A példa feltételezi, hogy a megfelelő erőforrásfájl regisztrálva van a forráshoz.
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
A példa az erőforrástárba EventLogMsgs.dllbeépített alábbi üzenetszövegfájlt használja. Az üzenetszövegfájl az a forrás, amelyből az üzenet erőforrásfájlja létrejön. Az üzenet szövegfájlja határozza meg a kategória, eseményüzenet és paraméterszúró sztringek erőforrás-azonosítóit és szövegét.
; // 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
.
Megjegyzések
Ezzel a módszerrel további eseményspecifikus adatokat tartalmazó honosított bejegyzést írhat az eseménynaplóba egy már eseményforrásként regisztrált forrás használatával a megfelelő naplóhoz. Sztringértékek helyett erőforrás-azonosítókkal adja meg az eseménytulajdonságokat. A eseménymegtekintő az erőforrás-azonosítók használatával jeleníti meg a forrás honosított erőforrásfájljának megfelelő sztringeket. Az események erőforrás-azonosítókkal való írása előtt regisztrálnia kell a forrást a megfelelő erőforrásfájlban.
A bemeneti instance példány megadja az eseményüzenetet és a tulajdonságokat. Állítsa be a InstanceIdinstance megadott üzenet bemenetét a forrásüzenet erőforrásfájljában. Az eseménybejegyzés kategóriájának és eseménytípusának meghatározásához igény szerint beállíthatja CategoryIdEntryType a bemenetet és instance a bemenetet. A honosított üzenet szövegébe beszúrandó nyelvfüggetlen sztringek tömbje is megadható. Állítsa be values , null ha az eseményüzenet nem tartalmaz helyettesítő sztringek formázási helyőrzőit.
Adja meg az eseményhez tartozó bináris adatokat, ha további részleteket kell megadnia az eseményhez. Használja például a paramétert data egy adott hibára vonatkozó információk megadására. A eseménymegtekintő nem értelmezi a kapcsolódó eseményadatokat, hanem kombinált hexadecimális és szöveges formátumban jeleníti meg az adatokat. Eseményspecifikus adatok takarékos használata; csak akkor vegye fel, ha biztos benne, hogy hasznos lesz. Eseményspecifikus adatokkal is tárolhatja azokat az adatokat, amelyeket az alkalmazás a eseménymegtekintő függetlenül feldolgozhat. Írhat például egy megtekintőt kifejezetten az eseményekhez, vagy írhat egy programot, amely beolvassa az eseménynaplót, és olyan jelentéseket hoz létre, amelyek tartalmazzák az eseményspecifikus adatokból származó információkat.
A megadott forrást regisztrálni kell egy eseménynaplóban a használat WriteEventelőtt. A megadott forrást úgy kell konfigurálni, hogy honosított bejegyzéseket írjon a naplóba; a forrásnak legalább egy üzeneterőforrás-fájllal kell rendelkeznie.
Az első bejegyzés forrással való írása előtt létre kell hoznia és konfigurálnia kell az eseményforrást. Hozza létre az új eseményforrást az alkalmazás telepítése során. Ez lehetővé teszi, hogy az operációs rendszer frissítse a regisztrált eseményforrások listáját és azok konfigurációját. Ha az operációs rendszer nem frissítette az eseményforrások listáját, és egy eseményt próbál meg írni az új forrással, az írási művelet sikertelen lesz. Új forrást konfigurálhat egy EventLogInstaller, vagy a CreateEventSource metódus használatával. Új eseményforrás létrehozásához rendszergazdai jogosultságokkal kell rendelkeznie a számítógépen.
A forrást honosított bejegyzések írására vagy közvetlen sztringek írására kell konfigurálni. Akkor használja a WriteEntry metódust, ha az alkalmazás sztringértékeket ír közvetlenül az eseménynaplóba.
Ha az alkalmazás erőforrás-azonosítók és sztringértékek használatával is ír bejegyzéseket, két különálló forrást kell regisztrálnia. Konfiguráljon például egy forrást erőforrásfájlokkal, majd használja ezt a forrást a WriteEvent metódusban bejegyzések írásához erőforrás-azonosítók használatával az eseménynaplóba. Ezután hozzon létre egy másik forrást erőforrásfájlok nélkül, és használja ezt a forrást a WriteEntry metódusban, hogy sztringeket írjon közvetlenül az eseménynaplóba ezzel a forrással.