This documentation is archived and is not being maintained.

EventLog.WriteEntry Method (String, String, EventLogEntryType, Int32, Int16, Byte[])

.NET Framework 1.1

Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log (using the specified registered event source) and appends binary data to the message.

[Visual Basic]
Overloads Public Shared Sub WriteEntry( _
   ByVal source As String, _
   ByVal message As String, _
   ByVal type As EventLogEntryType, _
   ByVal eventID As Integer, _
   ByVal category As Short, _
   ByVal rawData() As Byte _
public static void WriteEntry(
 string source,
 string message,
 EventLogEntryType type,
 int eventID,
 short category,
 byte[] rawData
public: static void WriteEntry(
 String* source,
 String* message,
 EventLogEntryType type,
 int eventID,
 short category,
 unsigned char rawData __gc[]
public static function WriteEntry(
   source : String,
 message : String,
 type : EventLogEntryType,
 eventID : int,
 category : Int16,
 rawData : Byte[]


The source by which the application is registered on the specified computer.
The string to write to the event log.
One of the EventLogEntryType values.
The application-specific identifier for the event.
The application-specific subcategory associated with the message.
An array of bytes that holds the binary data associated with the entry.


Use this method to write application-defined event-specific data to the event log, using a source already registered as an event source for the appropriate log. The Event Viewer does not interpret this data; it displays raw data only in a combined hexadecimal and text format. Use event-specific data sparingly, including it only if you are sure it will be useful to someone debugging the problem. You can also use event-specific data to store information the application can process independently of the Event Viewer. For example, you could write a viewer specifically for your events, or write a program that scans the logfile and creates reports that include information from the event-specific data.

In addition to the binary data, you can specify an application-defined category and an application-defined event identifier. The Event Viewer can use the category to filter events in the log. Each application can define its own numbered categories and the text strings to which they map. The categories must be numbered consecutively beginning with the number 1. The Event Viewer presents the category to the user in the Category column.

Event identifiers, together with the event source, uniquely identify an event. Each application can define its own numbered events and the description strings to which they map. Event viewers display these string values in the Event column. They are intended to help the user understand what went wrong and suggest what actions to take.

Finally, you can specify an EventLogEntryType for the event being written to the event log. The type is indicated in the Event Viewer for a log by an icon and text in the Type column. This indicates whether the event type is error, warning, information, success audit, or failure audit.

WriteEntry lets you specify a string message to write to the log. This method writes the given string directly to the log; it does not use a localizable message file.

Note   If you write an entry to a remote computer, the value of the message (the text string) might not be what you expect if the remote computer is not running the .NET Framework.


[Visual Basic] 
Dim myByte(9) As Byte
Dim i As Integer
For i = 0 To 9
   myByte(i) = CByte(i Mod 2)
Next i
' Write an informational entry to the event log.
Console.WriteLine("Write from second source ")
EventLog.WriteEntry("SecondSource", "Writing warning to event log.", _
                     EventLogEntryType.Error, myEventID , myCategory , myByte)

byte[] myByte=new byte[10];
for(int i=0;i<10;i++)
   myByte[i]= (byte)(i % 2);
// Write an informational entry to the event log.
Console.WriteLine("Write from second source ");
EventLog.WriteEntry("SecondSource","Writing warning to event log.", 
                     EventLogEntryType.Error,myEventID ,myCategory ,myByte);        

Byte myByte[] = new Byte[10];
for (int i=0; i<10; i++) {
    myByte[i] = (Byte)(i % 2);
// Write an informational entry to the event log.
Console::WriteLine(S"Write from second source ");
EventLog::WriteEntry(S"SecondSource",S"Writing warning to event log.",
    EventLogEntryType::Error, myEventID, myCategory, myByte);

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

.NET Framework Security: 

See Also

EventLog Class | EventLog Members | System.Diagnostics Namespace | EventLog.WriteEntry Overload List | EventLogEntryType | Source | CreateEventSource | DeleteEventSource | SourceExists | Entries