Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Write to eventlog from within Sharepoint webpart

I'm trying to create a custom webpart. To implement error handling I would like to write to the eventlog. To do so, I'm trying to use the following code;

protected void btnExceptionTester_Click(object sender, EventArgs e)
    {
        try
        {
            throw new Exception("this is a test");
        }
        catch (Exception ex)
        {
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                EventLog.WriteEntry("TestWebpart", ex.ToString(), EventLogEntryType.Error);
            });
        }
    }

When I try to execute this code, I receive an sharepoint error page (unhandled exception). When I look in the eventlog, I see the following message; "Requested registry access is not allowed".

I'm runnning (for testing only) under the full trust level. Can someone point out to me what kind of privileges I would need to write to the eventlog? Or is there another approach?

Help greatly appriciated!

like image 824
Obelix Avatar asked May 11 '09 20:05

Obelix


2 Answers

I haven't tried writing to the Windows event log but as an alternative you can write to the SharePoint logs in the 12 hive using the following:

Microsoft.Office.Server.Diagnostics.PortalLog.LogString("your message here!");

Hope this helps

Iain

like image 169
Temple Avatar answered Dec 24 '22 15:12

Temple


EventLog Entries in SharePoint:

  1. For WebParts Log the errors in the ULS logs which is present in 12 hive.

  2. For SharePoint Application pages, wrtie the errors in the Event Logs.

  3. All other list and Library related errors will be noted down in the ULS logs only.

Thanks

like image 30
shakir Avatar answered Dec 24 '22 16:12

shakir