Monday 17 December 2007

Logging Errors in MOSS

Logging Errors in SharePoint 2007
The error will be logged into folder 12/logs/ write your custom message to easily identify the error
If you have this need, use something like the following line of code:
catch(Exception myException)
{
Microsoft.Office.Server.Diagnostics.PortalLog.LogString("Exception Occurred: {0} || {1}", myException.Message, myException.StackTrace);
}

One more Important thing
The most popular error message is "An unexpected error has occured. Please contact your Administrator".
Am fed up with this generic error message, which gives no clue of error.
In order to see the real error messages as well as the stack trace of where the error happened within SharePoint, you have to do two simple things - in fact, this is mainly standard ASP.NET business:

In the web.config file of your SharePoint web application, edit these two entries:

1. Switch custom errors off
<system.web>
...
<customErrors mode="On" />
...
</system.web>


Set the value "On" to "Off" in a development or staging environment, or to "RemoteOnly" if you have to troubleshoot an issue in a productive environment (of course, the error has to be reproduced locally in this case).

2. Enable CallStack
<SharePoint>
...
<SafeMode MaxControls="50" CallStack="false" />
...
</SharePoint>

To make the CallStack visible, set the value to "true".

Please note that changing the web.config will cause SharePoint to restart the whole web application immediately after saving.

Happy D' ing.

No comments: