我试图调试安装在客户端的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