While testing a service I wrote, I kept running into an exception in the area that creates a custom event log:
Only the first eight characters of a custom log name are significant, and there is already another log on the system using the first eight characters of the name given. Name given: 'MyNewService', name of existing log: 'MyNewServiceTEST'.
I made a test log, to write debug messages to the log, so i don't clutter up the production log. I have no idea why "Only the first eight characters of a custom log name are significant" in this age where 64-bit OS is the standard, but that's how it is.
The issue was resolved simply by deleting the log. Here's the syntax used to create a custom log, write an event, and delete the custom log. I placed the source and custom log names in string value types, because you'll likely want to use these throughout the application. I usually store these in a settings file, for ease of maintenance.
WARNING! Do not delete system logs! You can delete these, and will probably be displeased if you do.
Create Event Log Source:
string sourceName = "MyApp";
string logName = "MyAppLog";
// The event source must exist, before
// a custom log may be created for your application!
// This must be run using administrative privelages,
// otherwise an "access denied" exception is thrown.
if (!EventLog.SourceExists(sourceName))
{
EventSourceCreationData esData =
new EventSourceCreationData(sourceName, logName);
EventLog.CreateEventSource(esData);
}
Write Event Log:
EventLog evt = new EventLog(logName, ".", sourceName);
evt.WriteEntry(
String.Format(
"Test log entry submitted at: {0} {1}",
DateTime.Now.ToShortDateString(),
DateTime.Now.ToShortTimeString()),
EventLogEntryType.Information);
Delete Custom Log:
Note, you must be running with administrative privelages, otherwise you receive an exception stating, "Requested registry access is not allowed."
EventLog.Delete("MyCustomLog");
Writing to the Event Log is simple and easy! Keep the first 8 characters of your custom event log unique, and you'll be in great shape.