2013-08-23 88 views
0

我最初从事PHP(LAMP)工作,现在我已开始使用Sharepoint。在PHP的情况下,所有的错误都被捕获,并显示在Apache错误日志的情况下,Sharepoint我必须使用Try和Catch块,然后使用下面显示的代码捕获错误。这对我来说工作得很好。没有问题。但缺点是 - 我必须保持警惕,以确保我将Try Catch放在每个可能的地方。由系统记录Sharepoint错误

我想要类似PHP的东西,即自动记录东西。请帮忙。

Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(delegate() 
       { 

        SPDiagnosticsService diagSvc = SPDiagnosticsService.Local; 
        SPDiagnosticsCategory cat = diagSvc.Areas["SharePoint Foundation"].Categories["Unknown"]; 
        string format = "Test trace logging gggg for category {0} in area {1}"; 
        diagSvc.WriteTrace(1, cat, TraceSeverity.Medium, format, cat.Name, cat.Area.Name);  
       }); 

回答

0

恐怕你会一直处理自己的错误。 Sharepoint实现它自己的日志,但仅限于它想要处理的事情。扩展错误或自定义错误记录必须由您执行。

在我的情况下,我通常使用基类作为我的web部件,布局和类,并在单个地方编写错误处理代码。任何继承此基类的类元素都会自动处理错误。

无论如何,您可以实现自定义服务并将错误记录到ULS或为您的通用元素创建类似的基类。看看这篇文章可能会帮助你。 http://blog.mastykarz.nl/logging-uls-sharepoint-2010/

0

SharePoint中的每个未处理的异常都会自动记录到ULS中,并作为意外的级别的消息。如果您没有问题,则不需要执行任何日志记录。同时避免发现你不能按照建议here处理的例外情况。