Export (0) Print
Expand All

EventLog::WriteEntry Method (String, String)

Writes an information type entry with the given message text to the event log, using the specified registered event source.

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)

public:
static void WriteEntry(
	String^ source, 
	String^ message
)

Parameters

source
Type: System::String
The source by which the application is registered on the specified computer.
message
Type: System::String
The string to write to the event log.

ExceptionCondition
ArgumentException

The source value is an empty string ("").

- or -

The source value is nullptr.

- or -

The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista).

- or -

The source name results in a registry key path longer than 254 characters.

InvalidOperationException

The registry key for the event log could not be opened.

Win32Exception

The operating system reported an error when writing the event entry to the event log. A Windows error code is not available.

Use this method to write an information entry to the event log, using a source that is already registered as an event source for the appropriate log. If you want to specify any other EventLogEntryType, use a different overload of WriteEntry.

You must create and configure the event source before writing the first entry with the source. Create the new event source during the installation of your application. This allows time for the operating system to refresh its list of registered event sources and their configuration. If the operating system has not refreshed its list of event sources, and you attempt to write an event with the new source, the write operation will fail. You can configure a new source using an EventLogInstaller, or using the CreateEventSource method. You must have administrative rights on the computer to create a new event source.

The source must be configured either for writing localized entries or for writing direct strings. The WriteEntry method writes the given string directly to the event log; it does not use a localizable message resource file. Use the WriteEvent method to write events using a localized message resource file.

If your application writes entries using both resource identifiers and string values, you must register two separate sources. For example, configure one source with resource files, and then use that source in the WriteEvent method to write entries using resource identifiers to the event log. Then create a different source without resource files, and use that source in the WriteEntry method to write strings directly to the event log using that source.

NoteNote

If the message parameter contains a NUL character, the message in the event log is terminated at the NUL character.

The message string cannot contain %n, where n is an integer value (for example, %1), because the event viewer treats it as an insertion string. Because an Internet Protocol, version 6 (IPv6) address can contain this character sequence, you cannot log an event message that contains an IPv6 address.

The following example creates the source MySource if it does not already exist, and writes an entry to the event log MyNewLog.


#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{

   // Create the source, if it does not already exist.
   if (  !EventLog::SourceExists( "MySource" ) )
   {
      EventLog::CreateEventSource( "MySource", "myNewLog" );
      Console::WriteLine( "CreatingEventSource" );
   }


   // Write an informational entry to the event log.    
   EventLog::WriteEntry( "MySource", "Writing to event log." );
}



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2014 Microsoft