Share via


EventLog.WriteEvent Metode

Definisi

Menulis entri peristiwa yang dilokalkan ke log peristiwa.

Overload

WriteEvent(String, EventInstance, Object[])

Menulis entri log peristiwa dengan data peristiwa dan string penggantian pesan yang diberikan, menggunakan sumber peristiwa terdaftar yang ditentukan.

WriteEvent(EventInstance, Object[])

Menulis entri yang dilokalkan ke log peristiwa.

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

Menulis entri log peristiwa dengan data peristiwa yang diberikan, string penggantian pesan, dan data biner terkait.

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

Menulis entri log peristiwa dengan data peristiwa yang diberikan, string penggantian pesan, dan data biner terkait, dan menggunakan sumber peristiwa terdaftar yang ditentukan.

WriteEvent(String, EventInstance, Object[])

Sumber:
EventLog.cs
Sumber:
EventLog.cs
Sumber:
EventLog.cs

Menulis entri log peristiwa dengan data peristiwa dan string penggantian pesan yang diberikan, menggunakan sumber peristiwa terdaftar yang ditentukan.

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())

Parameter

source
String

Nama sumber peristiwa yang terdaftar untuk aplikasi pada komputer yang ditentukan.

instance
EventInstance

Instans EventInstance yang mewakili entri log peristiwa yang dilokalkan.

values
Object[]

Array string untuk digabungkan ke dalam teks pesan entri log peristiwa.

Pengecualian

Nilainya source adalah string kosong ("").

-atau-

Nilai source adalah null.

-atau-

instance.InstanceId kurang dari nol atau lebih besar dari UInt16.MaxValue.

-atau-

values memiliki lebih dari 256 elemen.

-atau-

Salah values satu elemen lebih panjang dari 32766 byte.

-atau-

Nama sumber menghasilkan jalur kunci registri yang lebih panjang dari 254 karakter.

instanceadalah null.

Kunci registri untuk log kejadian tidak dapat dibuka.

Sistem operasi melaporkan kesalahan saat menulis entri peristiwa ke log peristiwa. Kode galat Windows tidak tersedia.

Contoh

Contoh berikut menulis entri peristiwa informasi dan entri peristiwa peringatan ke log peristiwa yang ada. Teks pesan peristiwa ditentukan menggunakan pengidentifikasi sumber daya dalam file sumber daya. Contoh mengasumsikan file sumber daya yang sesuai telah didaftarkan untuk sumbernya.

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

Contohnya menggunakan file teks pesan berikut, yang disertakan dalam pustaka sumber daya EventLogMsgs.dll. File teks pesan adalah sumber dari mana file sumber daya pesan dibuat. File teks pesan menentukan pengidentifikasi sumber daya dan teks untuk kategori, pesan peristiwa, dan string penyisipan parameter.

; // 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  
.  

Keterangan

Gunakan metode ini untuk menulis entri yang dilokalkan ke log peristiwa, menggunakan sumber yang sudah terdaftar sebagai sumber kejadian untuk log yang sesuai. Anda menentukan properti peristiwa dengan pengidentifikasi sumber daya daripada nilai string. Pemantau Peristiwa menggunakan pengidentifikasi sumber daya untuk menampilkan string yang sesuai dari file sumber daya yang dilokalkan untuk sumbernya. Anda harus mendaftarkan sumber dengan file sumber daya yang sesuai sebelum menulis peristiwa menggunakan pengidentifikasi sumber daya.

Instans input instance menentukan pesan peristiwa dan properti. Atur InstanceId input instance untuk pesan yang ditentukan dalam file sumber daya pesan sumber. Anda dapat secara opsional mengatur CategoryId dan EntryType input instance untuk menentukan kategori dan jenis peristiwa entri peristiwa Anda. Anda juga dapat menentukan array string independen bahasa untuk disisipkan ke dalam teks pesan yang dilokalkan. Atur values ke null jika pesan peristiwa tidak berisi tempat penampung pemformatan untuk string pengganti.

Sumber yang ditentukan harus didaftarkan untuk log peristiwa sebelum menggunakan WriteEvent. Sumber yang ditentukan harus dikonfigurasi untuk menulis entri yang dilokalkan ke log; sumber harus minimal memiliki file sumber daya pesan yang ditentukan.

Anda harus membuat dan mengonfigurasi sumber kejadian sebelum menulis entri pertama dengan sumbernya. Create sumber kejadian baru selama penginstalan aplikasi Anda. Ini memungkinkan waktu bagi sistem operasi untuk me-refresh daftar sumber peristiwa terdaftar dan konfigurasinya. Jika sistem operasi belum merefresh daftar sumber peristiwanya, dan Anda mencoba menulis peristiwa dengan sumber baru, operasi tulis akan gagal. Anda dapat mengonfigurasi sumber baru menggunakan EventLogInstaller, atau menggunakan CreateEventSource metode . Anda harus memiliki hak administratif pada komputer untuk membuat sumber kejadian baru.

Sumber harus dikonfigurasi baik untuk menulis entri yang dilokalkan atau untuk menulis string langsung. WriteEntry Gunakan metode jika aplikasi Anda menulis nilai string langsung ke log peristiwa.

Jika aplikasi Anda menulis entri menggunakan pengidentifikasi sumber daya dan nilai string, Anda harus mendaftarkan dua sumber terpisah. Misalnya, konfigurasikan satu sumber dengan file sumber daya, lalu gunakan sumber tersebut WriteEvent dalam metode untuk menulis entri menggunakan pengidentifikasi sumber daya ke log peristiwa. Kemudian buat sumber yang berbeda tanpa file sumber daya, dan gunakan sumber tersebut WriteEntry dalam metode untuk menulis string langsung ke log peristiwa menggunakan sumber tersebut.

Lihat juga

Berlaku untuk

WriteEvent(EventInstance, Object[])

Sumber:
EventLog.cs
Sumber:
EventLog.cs
Sumber:
EventLog.cs

Menulis entri yang dilokalkan ke log peristiwa.

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())

Parameter

instance
EventInstance

Instans EventInstance yang mewakili entri log peristiwa yang dilokalkan.

values
Object[]

Array string untuk digabungkan ke dalam teks pesan entri log peristiwa.

Atribut

Pengecualian

Properti Source dari EventLog belum ditetapkan.

-atau-

Metode mencoba mendaftarkan sumber kejadian baru, tetapi nama komputer di MachineName tidak valid.

-atau-

Sumber sudah terdaftar untuk log peristiwa yang berbeda.

-atau-

instance.InstanceId kurang dari nol atau lebih besar dari UInt16.MaxValue.

-atau-

values memiliki lebih dari 256 elemen.

-atau-

Salah values satu elemen lebih panjang dari 32766 byte.

-atau-

Nama sumber menghasilkan jalur kunci registri yang lebih panjang dari 254 karakter.

instanceadalah null.

Kunci registri untuk log kejadian tidak dapat dibuka.

Sistem operasi melaporkan kesalahan saat menulis entri peristiwa ke log peristiwa. Kode galat Windows tidak tersedia.

Contoh

Contoh berikut menulis dua entri audit ke log myNewLogperistiwa . Contoh membuat sumber peristiwa baru dan log peristiwa baru jika tidak ada di komputer lokal. Teks pesan peristiwa ditentukan menggunakan pengidentifikasi sumber daya dalam file sumber daya.

// 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)

Contohnya menggunakan file teks pesan berikut, yang disertakan dalam pustaka sumber daya EventLogMsgs.dll. File teks pesan adalah sumber dari mana file sumber daya pesan dibuat. File teks pesan menentukan pengidentifikasi sumber daya dan teks untuk kategori, pesan peristiwa, dan string penyisipan parameter.

; // 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  
.  

Keterangan

Gunakan metode ini untuk menulis entri yang dilokalkan ke log peristiwa. Anda menentukan properti peristiwa dengan pengidentifikasi sumber daya daripada nilai string. Pemantau Peristiwa menggunakan pengidentifikasi sumber daya untuk menampilkan string yang sesuai dari file sumber daya yang dilokalkan untuk Source. Anda harus mendaftarkan sumber dengan file sumber daya yang sesuai sebelum menulis peristiwa menggunakan pengidentifikasi sumber daya.

Instans input instance menentukan pesan peristiwa dan properti. Atur InstanceId input instance untuk pesan yang ditentukan dalam file sumber daya pesan sumber. Anda dapat secara opsional mengatur CategoryId dan EntryType input instance untuk menentukan kategori dan jenis peristiwa entri peristiwa Anda. Anda juga dapat menentukan array string independen bahasa untuk disisipkan ke dalam teks pesan yang dilokalkan. Atur values ke null jika pesan peristiwa tidak berisi tempat penampung pemformatan untuk string pengganti.

Anda harus mengatur Source properti pada komponen Anda EventLog sebelum menggunakan WriteEvent. Sumber yang ditentukan harus dikonfigurasi untuk menulis entri yang dilokalkan ke log; sumber harus minimal memiliki file sumber daya pesan yang ditentukan.

Anda harus membuat dan mengonfigurasi sumber kejadian sebelum menulis entri pertama dengan sumbernya. Create sumber kejadian baru selama penginstalan aplikasi Anda. Ini memungkinkan waktu bagi sistem operasi untuk me-refresh daftar sumber peristiwa terdaftar dan konfigurasinya. Jika sistem operasi belum merefresh daftar sumber peristiwanya, dan Anda mencoba menulis peristiwa dengan sumber baru, operasi tulis akan gagal. Anda dapat mengonfigurasi sumber baru menggunakan EventLogInstaller, atau menggunakan CreateEventSource metode . Anda harus memiliki hak administratif pada komputer untuk membuat sumber kejadian baru.

Sumber harus dikonfigurasi baik untuk menulis entri yang dilokalkan atau untuk menulis string langsung. WriteEntry Gunakan metode jika aplikasi Anda menulis nilai string langsung ke log peristiwa.

Jika aplikasi Anda menulis entri menggunakan pengidentifikasi sumber daya dan nilai string, Anda harus mendaftarkan dua sumber terpisah. Misalnya, konfigurasikan satu sumber dengan file sumber daya, lalu gunakan sumber tersebut WriteEvent dalam metode untuk menulis entri menggunakan pengidentifikasi sumber daya ke log peristiwa. Kemudian buat sumber yang berbeda tanpa file sumber daya, dan gunakan sumber tersebut WriteEntry dalam metode untuk menulis string langsung ke log peristiwa menggunakan sumber tersebut.

Catatan

Jika Anda menulis entri ke komputer jarak jauh, nilai message string mungkin bukan yang Anda harapkan jika komputer jarak jauh tidak menjalankan .NET Framework. Selain itu message , string tidak boleh berisi %n, di mana n adalah nilai bilangan bulat (misalnya, %1), karena penampil peristiwa memperlakukannya sebagai string penyisipan. Karena alamat Protokol Internet versi 6 (IPv6) dapat berisi urutan karakter ini, Anda tidak dapat mencatat pesan peristiwa yang berisi alamat IPv6.

Lihat juga

Berlaku untuk

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

Sumber:
EventLog.cs
Sumber:
EventLog.cs
Sumber:
EventLog.cs

Menulis entri log peristiwa dengan data peristiwa yang diberikan, string penggantian pesan, dan data biner terkait.

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())

Parameter

instance
EventInstance

Instans EventInstance yang mewakili entri log peristiwa yang dilokalkan.

data
Byte[]

Array byte yang menyimpan data biner yang terkait dengan entri.

values
Object[]

Array string untuk digabungkan ke dalam teks pesan entri log peristiwa.

Atribut

Pengecualian

Properti Source dari EventLog belum disetel.

-atau-

Metode ini mencoba mendaftarkan sumber kejadian baru, tetapi nama komputer di MachineName tidak valid.

-atau-

Sumber sudah terdaftar untuk log peristiwa yang berbeda.

-atau-

instance.InstanceId kurang dari nol atau lebih besar dari UInt16.MaxValue.

-atau-

values memiliki lebih dari 256 elemen.

-atau-

Salah values satu elemen lebih panjang dari 32766 byte.

-atau-

Nama sumber menghasilkan jalur kunci registri yang lebih panjang dari 254 karakter.

instanceadalah null.

Kunci registri untuk log peristiwa tidak dapat dibuka.

Sistem operasi melaporkan kesalahan saat menulis entri peristiwa ke log peristiwa. Kode galat Windows tidak tersedia.

Contoh

Contoh berikut menulis dua entri audit ke log myNewLogperistiwa . Contoh membuat sumber peristiwa baru dan log peristiwa baru jika tidak ada di komputer lokal. Teks pesan peristiwa ditentukan menggunakan pengidentifikasi sumber daya dalam file sumber daya.

// 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)

Contohnya menggunakan file teks pesan berikut, yang disertakan dalam pustaka sumber daya EventLogMsgs.dll. File teks pesan adalah sumber tempat file sumber daya pesan dibuat. File teks pesan menentukan pengidentifikasi sumber daya dan teks untuk string kategori, pesan peristiwa, dan penyisipan parameter.

; // 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  
.  

Keterangan

Gunakan metode ini untuk menulis entri yang dilokalkan dengan data khusus peristiwa tambahan ke log peristiwa. Anda menentukan properti peristiwa dengan pengidentifikasi sumber daya daripada nilai string. Pemantau Peristiwa menggunakan pengidentifikasi sumber daya untuk menampilkan string yang sesuai dari file sumber daya yang dilokalkan untuk Source. Anda harus mendaftarkan sumber dengan file sumber daya yang sesuai sebelum menulis peristiwa menggunakan pengidentifikasi sumber daya.

Instans input instance menentukan pesan peristiwa dan properti. Atur InstanceId input instance untuk pesan yang ditentukan dalam file sumber daya pesan sumber. Anda dapat secara opsional mengatur CategoryId dan EntryType input instance untuk menentukan kategori dan jenis peristiwa entri peristiwa Anda. Anda juga dapat menentukan array string independen bahasa untuk disisipkan ke dalam teks pesan yang dilokalkan. Atur values ke null jika pesan peristiwa tidak berisi tempat penampung pemformatan untuk string pengganti.

Tentukan data biner dengan peristiwa saat diperlukan untuk memberikan detail tambahan untuk peristiwa tersebut. Misalnya, gunakan data parameter untuk menyertakan informasi tentang kesalahan tertentu. Pemantau Peristiwa tidak menginterpretasikan data peristiwa terkait; menampilkan data dalam format heksadesimal dan teks gabungan. Gunakan data khusus peristiwa dengan hemat; sertakan hanya jika Anda yakin itu akan berguna. Anda juga dapat menggunakan data khusus peristiwa untuk menyimpan informasi yang dapat diproses aplikasi secara independen dari Pemantau Peristiwa. Misalnya, Anda dapat menulis penampil khusus untuk peristiwa Anda, atau menulis program yang memindai log peristiwa dan membuat laporan yang menyertakan informasi dari data khusus peristiwa.

Anda harus mengatur Source properti pada komponen Anda EventLog sebelum menggunakan WriteEvent. Sumber yang ditentukan harus dikonfigurasi untuk menulis entri yang dilokalkan ke log; sumber harus minimal memiliki file sumber daya pesan yang ditentukan.

Anda harus membuat dan mengonfigurasi sumber peristiwa sebelum menulis entri pertama dengan sumbernya. Create sumber peristiwa baru selama penginstalan aplikasi Anda. Ini memungkinkan waktu bagi sistem operasi untuk merefresh daftar sumber peristiwa terdaftar dan konfigurasinya. Jika sistem operasi belum merefresh daftar sumber peristiwanya, dan Anda mencoba menulis peristiwa dengan sumber baru, operasi tulis akan gagal. Anda dapat mengonfigurasi sumber baru menggunakan EventLogInstaller, atau menggunakan CreateEventSource metode . Anda harus memiliki hak administratif pada komputer untuk membuat sumber kejadian baru.

Catatan

Jika Anda tidak menentukan MachineName untuk instans Anda EventLog sebelum memanggil WriteEvent, komputer lokal (".") diasumsikan.

Sumber harus dikonfigurasi baik untuk menulis entri yang dilokalkan atau untuk menulis string langsung. WriteEntry Gunakan metode jika aplikasi Anda menulis nilai string langsung ke log peristiwa.

Jika aplikasi Anda menulis entri menggunakan pengidentifikasi sumber daya dan nilai string, Anda harus mendaftarkan dua sumber terpisah. Misalnya, konfigurasikan satu sumber dengan file sumber daya, lalu gunakan sumber tersebut WriteEvent dalam metode untuk menulis entri menggunakan pengidentifikasi sumber daya ke log peristiwa. Kemudian buat sumber yang berbeda tanpa file sumber daya, dan gunakan sumber tersebut WriteEntry dalam metode untuk menulis string langsung ke log peristiwa menggunakan sumber tersebut.

Catatan

Jika Anda menulis entri ke komputer jarak jauh, nilai message string mungkin bukan yang Anda harapkan jika komputer jarak jauh tidak menjalankan .NET Framework. Selain itu message , string tidak boleh berisi %n, di mana n adalah nilai bilangan bulat (misalnya, %1), karena penampil peristiwa memperlakukannya sebagai string penyisipan. Karena alamat Protokol Internet versi 6 (IPv6) dapat berisi urutan karakter ini, Anda tidak dapat mencatat pesan peristiwa yang berisi alamat IPv6.

Lihat juga

Berlaku untuk

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

Sumber:
EventLog.cs
Sumber:
EventLog.cs
Sumber:
EventLog.cs

Menulis entri log peristiwa dengan data peristiwa yang diberikan, string penggantian pesan, dan data biner terkait, dan menggunakan sumber peristiwa terdaftar yang ditentukan.

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())

Parameter

source
String

Nama sumber peristiwa yang terdaftar untuk aplikasi pada komputer yang ditentukan.

instance
EventInstance

Instans EventInstance yang mewakili entri log peristiwa yang dilokalkan.

data
Byte[]

Array byte yang menyimpan data biner yang terkait dengan entri.

values
Object[]

Array string untuk digabungkan ke dalam teks pesan entri log peristiwa.

Pengecualian

Nilainya source adalah string kosong ("").

-atau-

Nilai source adalah null.

-atau-

instance.InstanceId kurang dari nol atau lebih besar dari UInt16.MaxValue.

-atau-

values memiliki lebih dari 256 elemen.

-atau-

Salah values satu elemen lebih panjang dari 32766 byte.

-atau-

Nama sumber menghasilkan jalur kunci registri yang lebih panjang dari 254 karakter.

instanceadalah null.

Kunci registri untuk log peristiwa tidak dapat dibuka.

Sistem operasi melaporkan kesalahan saat menulis entri peristiwa ke log peristiwa. Kode galat Windows tidak tersedia.

Contoh

Contoh berikut menulis entri peristiwa informasi dan entri peristiwa peringatan ke log peristiwa yang ada. Teks pesan peristiwa ditentukan menggunakan pengidentifikasi sumber daya dalam file sumber daya. Contoh mengasumsikan file sumber daya yang sesuai telah didaftarkan untuk sumbernya.

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

Contohnya menggunakan file teks pesan berikut, yang disertakan dalam pustaka sumber daya EventLogMsgs.dll. File teks pesan adalah sumber tempat file sumber daya pesan dibuat. File teks pesan menentukan pengidentifikasi sumber daya dan teks untuk string kategori, pesan peristiwa, dan penyisipan parameter.

; // 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  
.  

Keterangan

Gunakan metode ini untuk menulis entri yang dilokalkan dengan data khusus peristiwa tambahan ke log peristiwa, menggunakan sumber yang sudah terdaftar sebagai sumber peristiwa untuk log yang sesuai. Anda menentukan properti peristiwa dengan pengidentifikasi sumber daya daripada nilai string. Pemantau Peristiwa menggunakan pengidentifikasi sumber daya untuk menampilkan string yang sesuai dari file sumber daya yang dilokalkan untuk sumber. Anda harus mendaftarkan sumber dengan file sumber daya yang sesuai sebelum menulis peristiwa menggunakan pengidentifikasi sumber daya.

Instans input instance menentukan pesan peristiwa dan properti. Atur InstanceId input instance untuk pesan yang ditentukan dalam file sumber daya pesan sumber. Anda dapat secara opsional mengatur CategoryId dan EntryType input instance untuk menentukan kategori dan jenis peristiwa entri peristiwa Anda. Anda juga dapat menentukan array string independen bahasa untuk disisipkan ke dalam teks pesan yang dilokalkan. Atur values ke null jika pesan peristiwa tidak berisi tempat penampung pemformatan untuk string pengganti.

Tentukan data biner dengan peristiwa ketika perlu untuk memberikan detail tambahan untuk peristiwa tersebut. Misalnya, gunakan data parameter untuk menyertakan informasi tentang kesalahan tertentu. Pemantau Peristiwa tidak menginterpretasikan data peristiwa terkait; data ditampilkan dalam format heksadesimal dan teks gabungan. Gunakan data khusus peristiwa dengan hemat; sertakan hanya jika Anda yakin itu akan berguna. Anda juga dapat menggunakan data khusus peristiwa untuk menyimpan informasi yang dapat diproses aplikasi secara independen dari Pemantau Peristiwa. Misalnya, Anda dapat menulis penampil khusus untuk peristiwa Anda, atau menulis program yang memindai log peristiwa dan membuat laporan yang menyertakan informasi dari data khusus peristiwa.

Sumber yang ditentukan harus didaftarkan untuk log peristiwa sebelum menggunakan WriteEvent. Sumber yang ditentukan harus dikonfigurasi untuk menulis entri yang dilokalkan ke log; sumber harus minimal memiliki file sumber daya pesan yang ditentukan.

Anda harus membuat dan mengonfigurasi sumber kejadian sebelum menulis entri pertama dengan sumbernya. Create sumber kejadian baru selama penginstalan aplikasi Anda. Ini memungkinkan waktu bagi sistem operasi untuk me-refresh daftar sumber peristiwa terdaftar dan konfigurasinya. Jika sistem operasi belum merefresh daftar sumber peristiwanya, dan Anda mencoba menulis peristiwa dengan sumber baru, operasi tulis akan gagal. Anda dapat mengonfigurasi sumber baru menggunakan EventLogInstaller, atau menggunakan CreateEventSource metode . Anda harus memiliki hak administratif pada komputer untuk membuat sumber kejadian baru.

Sumber harus dikonfigurasi baik untuk menulis entri yang dilokalkan atau untuk menulis string langsung. WriteEntry Gunakan metode jika aplikasi Anda menulis nilai string langsung ke log peristiwa.

Jika aplikasi Anda menulis entri menggunakan pengidentifikasi sumber daya dan nilai string, Anda harus mendaftarkan dua sumber terpisah. Misalnya, konfigurasikan satu sumber dengan file sumber daya, lalu gunakan sumber tersebut WriteEvent dalam metode untuk menulis entri menggunakan pengidentifikasi sumber daya ke log peristiwa. Kemudian buat sumber yang berbeda tanpa file sumber daya, dan gunakan sumber tersebut WriteEntry dalam metode untuk menulis string langsung ke log peristiwa menggunakan sumber tersebut.

Lihat juga

Berlaku untuk