我試圖調試安裝在客戶端的SharePoint實例上的Web部件。我想要一個快速簡單的日誌記錄功能,所以我想將消息寫入臨時目錄中的文本文件。 SharePoint似乎不喜歡它,所以我的選擇是什麼?從SharePoint登錄到TextFile
1
A
回答
0
我猜想,這是一個權限問題SharePoint阻止了你(並且可能不會告訴你它是這樣)。當您嘗試寫入服務器上的文本文件時,您需要提升權限才能執行此操作。您可以使用SPSecurity.RunWithElevatedPrivileges完成此操作。如果你只想要一個簡單的小代碼解決方案,就像下面這樣。
SPSecurity.RunWithElevatedPrivileges(delegate() {
using (StreamWriter sw = new StreamWriter(@"C:\log.txt"))
{
//log information here
}
});
0
嘗試像log4net的日誌框架,或者寫一個小的日誌框架寫入到外部數據庫,你也可以用列表來記錄,如果你想留在裏面的SharePoint
1
如果你正在寫的臨時目錄,你需要給文件(如果存在的話),或在SharePoint IIS應用程序在其下運行IIS應用程序池的目錄權限。
1
有自定義日誌的幾種方法在SharePoint -
使用SPDiagnosticsService - 您可以寫信給通過SPDiagnosticsService類的ULS。
利用diagnostics.asmx Web服務 -
SharePointDiagnostics SharePointDiagnosticsObject = new SharePointDiagnostics(); SharePointDiagnosticsObject.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; string Response = SharePointDiagnosticsObject.SendClientScriptErrorReport(message, file, line, client, stack, team, originalFile);
欲瞭解更多詳細信息的diagnostics.asmx參考以下鏈接的使用 -
https://vivekkumar11432.wordpress.com/2016/09/23/how-to-do-logging-in-uls-from-csom-in-c/
有關記錄的更多詳細信息參考以下鏈接 -
http://www.codeproject.com/Articles/620996/Five-suggestions-to-implement-a-better-logging-in
不要使用
Microsoft.Office.Server.Diagnostics.PortalLog.LogString("Message");
根據微軟的文檔 - LogString保留供內部使用,不適合直接在代碼中使用。
相關問題
- 1. 從ASP.NET網站登錄Sharepoint
- 2. 編程登錄到SharePoint ULS
- 3. Sharepoint登錄
- 4. 關於Sharepoint登錄
- 5. ULS登錄sharepoint 2007
- 6. 獲取的SharePoint登錄從Web部件
- 7. 使用Sharepoint憑證登錄到PowerApps
- 8. StringDictionary到TextFile
- 9. Sharepoint的默認登錄域
- 10. SharePoint中心管理登錄
- 11. Sharepoint 2010本地 - 登錄
- 12. iOS Sharepoint App登錄錯誤
- 13. SharePoint集成單點登錄
- 14. 檢查用戶是否從ASP.NET登錄到SharePoint Online
- 15. 使用單一登錄從SharePoint切換到ASP.NET網站
- 16. 單點登錄從SharePoint到另一個asp.net Web應用程序
- 17. 重定向Sharepoint登錄頁面或顯示登錄Web部分
- 18. 如何在登錄後自動關閉SharePoint Online登錄窗口?
- 19. 從登錄屏幕到`UITabBarController`
- 20. 從HTTP登錄到HTTPS
- 21. 從python登錄到logstash
- 22. 從ViewController登錄到SplitViewController
- 23. 從winston登錄到stackdriver
- 24. 從something.com登錄到application.something.com/clientApplicationPage/
- 25. 遠程登錄到從主
- 26. 從python登錄到MongoDB
- 27. 從ASP.NET登錄到CRM
- 28. 從python登錄到zwave
- 29. 從HTTP登錄到HTTPS?
- 30. 從(大)TextFile填充JComboBox
如果它沒有/不需要去一個文件,另一個選項是Debug.WriteLine(和Trace.WriteLine IIRC),然後使用debugview來查看輸出(最有可能適當地過濾) http: //technet.microsoft.com/en-us/sysinternals/bb896647.aspx – 2010-06-11 06:37:13