2013-08-23 71 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處理的例外情況。