ULS Logs

SharePoint reports all it’s errors in the SharePoint ULS Logs. These logs are sometimes difficult to read as there is so much information logged.

The ULS logs typically include all sorts of messages like:

06/26/2015 15:55:45.80  w3wp.exe (0x4160)                        0x4778 SharePoint Foundation          Monitoring                     nasq Medium   Entering monitored scope (Request (GET:http://devsp.mydev.local:80/_vti_bin/sitedata.asmx)). Parent No

In general I’m more interested in the actual problems that are reported in the logs. So something like this is more important to find:

06/26/2015 15:55:45.81  w3wp.exe (0x4160)                        0x06D8 SharePoint Foundation          DistributedCache               agyfw Unexpected Unexpected error occurred in method 'GetObject' , usage 'Distributed Logon Token Cache' - Exception 'Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.     at Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBody respBody)     at Microsoft.ApplicationServer.Caching.DataCache.InternalGet(String key, DataCacheItemVersion& version, String region, IMonitoringListener listener)     at Microsoft.ApplicationServer.Caching.DataCache.<>c__DisplayClass49.<Get>b__48()     at Microsoft.SharePoint.DistributedCaching.SPDistributedCache.GetObject(String key)'. ae28149d-ba07-6040-245c-6f17fba77c5d

I have always liked ULS Viewer but that means that I’ve got an application running on my server that I need to look at. And again I’m getting too many messages thrown at me so I can’t keep up with the overflow of log messages.

So I want to filter out my less important messages without disabling the medium/high Diagnostic Log levels in Central Admin.

ULS Monitor

I’ve now developed a ULS Monitor PowerShell script that collects all the higher level log messages and sends emails

ULS monitorto alert me.

Then I got to many emails sent to me and I found that an healthy SharePoint farm still reports a lot of errors. So I added some more PowerShell so that I can filter certain messages out, so that they are ignored.

So for example messages reporting certain issues that I’m aware of can be ignored.

This way I’ve been able to find issues with my SharePoint farm before users report the issues.