系统记录Sharepoint错误



我最初使用PHP(LAMP),现在开始使用Sharepoint。对于PHP,所有错误都被捕获并显示在Apache错误日志中。对于Sharepoint,我必须使用Try and Catch块,然后使用下面显示的代码来捕获错误。这对我来说很好。没有问题。但缺点是——我必须保持足够的警惕,确保我把Try Catch放在所有可能的地方。

我想要一些类似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);       
                });

恐怕您将不得不自己处理这些错误。Sharepoint实现了自己的日志,但只针对它想要处理的事情。扩展错误或自定义错误日志记录必须由您实现。

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

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

SharePoint中每个未处理的异常都会自动作为意外级别的消息记录到ULS。如果您对此很满意的话,就不需要实现任何日志记录。还要避免捕获无法按此处建议处理的异常。

ASP.NET中的所有异常都会弹出调用堆栈,如果不进行处理,最终您可以实现一个处理错误的模块。你可以在这里看到一个例子:

http://www.codeproject.com/Articles/16171/An-HTTP-Module-for-ASP-NET-Error-Handling

您如何部署它?您可以使用场解决方案进行部署,并使用spwebconfigmodification类

将其添加到web配置中

最新更新