I’m trying to use log4net to write to a customer event log under IIS7 on Windows Server 2008 SP1. However, account doesn’t seem to have access to write to the event log. Does anyone have any suggestions?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The problem is probably your event source. You have to create an event source before you can write to the event log (if you don’t, the Event log object tries to create one for you ‘automagically’ the first time you write to the log).
You have to have hightened permissions to create an event log source. In some of my web apps, I have put the code to create the event source into my setup (setup runs as admin, so I’m always guaranteed to be able to create the source).
You just have to create the source once. After that, your ASP.Net app should have sufficient permissions to write entries specifying the source (or sources) that you created.
You can use an EventLogInstaller in your setup to create the source, or you could just write a little utility to call EventLog.CreateEventSource() as an admin.
I’ll show you both ways:
Method 2: just call CreateEventSource once as an admin (you could put the following code into a console app, for example, and run the console app as admin
Bonus: If you have Powershell installed on your server, you can do it from the Powershell command prompt: (Make sure you are running Powershell as an admin)
Hop that helps