0

我最初从事 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);       
                });
4

3 回答 3

0

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

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

你如何部署它?您可以使用场解决方案对其进行部署,并将其添加到 Web 配置中,请使用 spwebconfigmodification 类

于 2013-08-24T12:29:19.907 回答
0

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

于 2013-08-24T10:53:31.117 回答
0

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

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

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

于 2013-08-23T17:06:46.990 回答