NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

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

Writes an entry of the specified type with the user-defined eventID and category to the event log, and appends binary data to the message. The Event Viewer does not interpret this data; it displays raw data only in a combined hexadecimal and text format.

[Visual Basic]
Overloads Public Sub WriteEntry( _
   ByVal message As String, _
   ByVal type As EventLogEntryType, _
   ByVal eventID As Short, _
   ByVal category As Short, _
   ByVal rawData() As Byte _
)
[C#]
public void WriteEntry(
   string message,
   EventLogEntryType type,
   short eventID,
   short category,
   byte[] rawData
);
[C++]
public: void WriteEntry(
   String* message,
   EventLogEntryType type,
   short eventID,
   short category,
   unsigned char* rawData[]
);
[JScript]
public function WriteEntry(
   message : String,
   type : EventLogEntryType,
   eventID : Int16,
   category : Int16,
   rawData : Byte[]
);

Parameters

message
The string to write to the event log.
type
One of the EventLogEntryType values.
eventID
The source-specific identifier for the event, which identifies the current message.
category
A source-specific subcategory associated with the message.
rawData
An array of bytes that holds the binary data associated with the entry.

Exceptions

Exception Type Condition
ArgumentException The Source property of the EventLog has not been set.

-or-

The method has attempted to create a new event Source, but the computer name is not valid.

-or-

The method has attempted to create a new event Source, but the source name was not specified.

-or-

The method has attempted to create a new event Source, but the source already exists on the computer.

-or-

The method has attempted to create a new Log, but the first eight characters of the log name are not unique on the computer.

-or-

The method has attempted to open the event log with read access, but the Log property was not specified.

-or-

The method has attempted to open the event log with write access, but the Source property was not specified.

-or-

The message string is too long. The size must be less than 16384 bytes.

-or-

The source is not registered to the given log.

Exception The registry entry for the Log could not be opened on a remote computer.
InvalidOperationException The method has attempted to open the event log with write access, but you do not have write access to the log.
Win32Exception The method attempted to release the event log's read or write handle but did not do so successfully.

-or-

The method attempted to open the event log with read access but was unable to do so.

-or-

The event could not be reported to the log.

SystemException The event log could not be notified to start listenting for events.

Remarks

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.

Use this overload if you want to write application-defined event-specific data to the event log. The Event Viewer does not interpret this data; it displays extra 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 makes reports that include information from the event-specific data.

In addition to the event identifier, this overload of WriteEntry lets you specify an EventLogEntryType, an event identifier for the event being written to the event log, and an application-defined category with which to filter events.

Event identifiers (eventID) uniquely identify a particular event. Each application can define its own numbered events and the description strings to which they are mapped. These strings should help the user understand what went wrong and suggest what actions to take. Each application can also define its own numbered categories (category) and the text strings to which they are mapped. The categories must be numbered consecutively beginning with the number 1. The Event Viewer presents the eventID

or its associated strings to the user in the "Event" column and the category in the "Category" column. The type is indicated in the Event Viewer for a log by an icon and text in the "Type" column.

You must set the Source property on your EventLog component before you can write entries to the log. You can call CreateEventSource on a new Source to register it before writing to the event log, but this is not necessary. If a new Source has not been registered on the computer to which your component is writing, WriteEntry calls CreateEventSource automatically and registers the Source for you.

If you have not specified a MachineName for your EventLog instance before calling CreateEventSource or WriteEntry, the local computer (".") is assumed.

If the system needs to register the Source through a call to WriteEntry and the Log property has not been set on your EventLog instance, it defaults to the Application log.

Note   Many of the exceptions listed above are generated by errors raised during the process of registering the Source.

See Also

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