This might be a better question for StackOverflow. However, I'll give my 2c anyway.
Since creating an event source only needs to happen once on a particular machine, you shouldn't really code your app (particularly a web app that's already running with limited privs) to create that source on demand. Granting additional permissions for the lifetime of the app just to accommodate a single call would be silly.
Instead, the event source creation should take place as part of the app's installer or as a separate manual step in the deployment instructions if there is no installer. Using a manual step doesn't have to mean hand-editing the registry. It can be a separate tiny console app who's sole purpose is to setup the event source.
All your app should worry about is actually writing to the log. Definitely keep in the code that checks for the source to exist. But if it doesn't find it, gracefully degrade and find an alternative way to notify the site admin like a simple error page.