// (c) 2007 Richard Grimes // www.grimes.demon.co.uk using System; using System.Diagnostics; using System.Collections.Specialized; class App { const string sourceName = "Acme_Source"; const string logName = "TestLog"; static void Main(string[] args) { StringCollection sysLogs = new StringCollection(); sysLogs.AddRange(new string[] {"application", "system", "security"}); if (args.Length > 0) { if (EventLog.SourceExists(sourceName)) { string log = EventLog.LogNameFromSourceName(sourceName, "."); EventLog.DeleteEventSource(sourceName); if (!sysLogs.Contains(log.ToLower())) { EventLog.Delete(log); } } return; } if (!EventLog.SourceExists(sourceName)) { EventLog.CreateEventSource(sourceName, logName); Console.WriteLine("Event source created - restart application"); return; } using (EventLog el = new EventLog()) { el.Source = sourceName; // report messages... } } }