Microsoft stellt dafür die Klasse System.Diagnostics.EventLog bereit. Hier ist ein Beispiel um in das Anwendungsprotokoll (Application) zu schreiben.
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
string source = "MeinCSharpProgramm";
string logName = "Application";
// Quelle registrieren (einmalig notwendig, erfordert Adminrechte)
if (!EventLog.SourceExists(source))
{
EventLog.CreateEventSource(source, logName);
Console.WriteLine("Quelle registriert. Starte das Programm erneut.");
return;
}
// Event schreiben
EventLog.WriteEntry(source, "Dies ist ein Testeintrag im Eventlog.", EventLogEntryType.Information);
Console.WriteLine("Event wurde geschrieben.");
}
}
Beim Erstellen einer neuen Quelle (EventLog.CreateEventSource) sind Administratorrechte erforderlich. Nach dem ersten Durchlauf ist die Quelle registriert, und normale Benutzerrechte reichen dann aus.