Orson
Orson

Reputation: 15431

How can i write to the windows event log using C# (I'm getting some kind of error)?

I have written:

.
.
.
//Log exception to the event log
if (!EventLog.SourceExists("PodaHIS")) {
    EventLog.CreateEventSource("PodaHIS", "Application");   
}

EventLog eventLog = new EventLog();
eventLog.Log = "Application";
eventLog.Source = "PodaHIS";
eventLog.WriteEntry(error.ToString(), EventLogEntryType.Error);

I have also enabled read permission to LOCALMACHINE\ASPNET.

And in return i get:

The source was not found, but some or all event logs could not be searched. Inaccesible logs: Security.

Does anyone know why this is happening?

Upvotes: 1

Views: 4442

Answers (5)

Charles
Charles

Reputation: 11

If you have permission on the box that you want to write the event log to, then you can run a script that I wrote.

Upvotes: 1

Regent
Regent

Reputation: 5602

What it your deployment environment? If it is Vista/Server 2008 then adding worker account into Administrators group won't work due to UAC.

This link explains the problem in details. But I would recommend try creating an event source manually so ASPNET won't need to create it...

Upvotes: 0

Orson
Orson

Reputation: 15431

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog

What is need to do was grant the "Security" sub key of the EventLog Key read permission. After that i restarted my IIS.

Upvotes: 3

gingerbreadboy
gingerbreadboy

Reputation: 7769

this kb artical explains the steps required to give your asp process the correct security rights to write to the event log...

kb

Upvotes: 1

Rob Kent
Rob Kent

Reputation: 5193

I think that a higher level of access is required to create a source in the event log. It's possible that the reference to Security log is coincidental and it is just reporting that as a possible cause. If you go in as an administrator and create the PodaHIS source yourself, you might then find that it can write to it.

Upvotes: 0

Related Questions