The System.Diagnostics.EventLog class provides a way to interact with a windows event log. I use it all the time for simple logging...
System.Diagnostics.Ev
Usually, the user executing the code that calls the EventLog.WriteEntry method will be the user displayed in the event log for the entry.
You could try impersonating another user by creating your own Principal and Identity and associating it with the current thread, however this is not advised as it could introduce security issues and will definitely complicate your application.