EventLog.RegisterDisplayName Method
Specifies the localized name of the event log, which is displayed in the server Event Viewer.
Namespace: System.Diagnostics
Assembly: System (in System.dll)
[ComVisibleAttribute(false)] public void RegisterDisplayName( string resourceFile, long resourceId )
Parameters
- resourceFile
- Type: System.String
The fully specified path to a localized resource file.
- resourceId
- Type: System.Int64
The resource identifier that indexes a localized string within the resource file.
| Exception | Condition |
|---|---|
| InvalidOperationException | The Log value is not a valid log name. - or - The registry key for the event log could not be opened on the target computer. |
| ArgumentNullException | resourceFile is null. |
Use RegisterDisplayName to register and display a localized name in the Event Viewer for custom event logs.
The specified resource identifier must correspond to a localized string defined in the resource file. The Event Viewer displays the custom event log name using the localized string and the current culture settings. For example, you can define multiple event log names localized for different cultures in your resource file. The Event Viewer displays the localized string corresponding to the culture settings of the current user.
If the Event Viewer cannot load the localized string from the resource file, or if no display name was registered for the event log, then the Event Viewer displays the event log name defined in Log.
Note |
|---|
You do not need to register a display name for the pre-defined event logs. The operating system registers the localized display names for the Application, System, and Security event logs. |
The following example determines whether the event source named SampleApplicationSource is registered on the local computer. If the event source does not exist, the example sets the message resource file for the source and creates the new event source. Finally, the example sets the localized display name for the event log, using the resource identifier value in DisplayNameMsgId and the resource file path in messageFile.
static void CreateEventSourceSample1(string messageFile) { string myLogName; string sourceName = "SampleApplicationSource"; // Create the event source if it does not exist. if(!EventLog.SourceExists(sourceName)) { // Create a new event source for the custom event log // named "myNewLog." myLogName = "myNewLog"; EventSourceCreationData mySourceData = new EventSourceCreationData(sourceName, myLogName); // Set the message resource file that the event source references. // All event resource identifiers correspond to text in this file. if (!System.IO.File.Exists(messageFile)) { Console.WriteLine("Input message resource file does not exist - {0}", messageFile); messageFile = ""; } else { // Set the specified file as the resource // file for message text, category text, and // message parameter strings. mySourceData.MessageResourceFile = messageFile; mySourceData.CategoryResourceFile = messageFile; mySourceData.CategoryCount = CategoryCount; mySourceData.ParameterResourceFile = messageFile; Console.WriteLine("Event source message resource file set to {0}", messageFile); } Console.WriteLine("Registering new source for event log."); EventLog.CreateEventSource(mySourceData); } else { // Get the event log corresponding to the existing source. myLogName = EventLog.LogNameFromSourceName(sourceName,"."); } // Register the localized name of the event log. // For example, the actual name of the event log is "myNewLog," but // the event log name displayed in the Event Viewer might be // "Sample Application Log" or some other application-specific // text. EventLog myEventLog = new EventLog(myLogName, ".", sourceName); if (messageFile.Length > 0) { myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId); } }
The example uses the following message text file, built into the resource library EventLogMsgs.dll. A message text file is the source from which the message resource file is created. The message text file defines the resource identifiers and text for the category, event message, and parameter insertion strings. Specifically, resource identifier 5001 is defined for the localized name of the event log.
; // 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 .
- EventLogPermission
for administering event log information on the computer. Associated enumeration: EventLogPermissionAccess.Administer
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note