我有以下简单的代码:
SPDiagnosticsService diagnosticsService = SPDiagnosticsService.Local;
SPDiagnosticsCategory cat = diagnosticsService.Areas["SharePoint Foundation"].Categories["Unknown"];
string format = "Test trace logging for category {0} in area {1}";
diagnosticsService.WriteTrace(1, cat, TraceSeverity.Medium, format, cat.Name, cat.Area.Name);
我只想写入SharePoint ULS日志。但这不起作用。可能是什么原因?
更新
哦对不起!!我在ULS日志中没有输入任何条目。生成ULS日志,但我的日志不会写入日志。 CA中诊断日志记录配置中的所有类别都设置为“跟踪级别中”和“事件级别信息”。也没有例外。当我通过F5运行并逐步执行时,代码运行正常。
已完成解决方案!
AppPool帐户必须位于本地Performance Log Users组中!我也在这里写了博客:http://www.bog1.de/2015/03/es-ist-nicht-moglich-in-die-uls-logs-zu-schreiben-performance-log-users/
答案 0 :(得分:2)
您是否在目标SharePoint服务器上运行此操作?
您是否在合适的SharePoint管理员帐户下运行它?
您可以尝试更全面的示例 - 来自Google,例如http://blog.mastykarz.nl/logging-uls-sharepoint-2010/
最后,如果您从SharePoint Sandbox解决方案中调用此代码,它将无法运行,您需要编写代理。 http://blog.sharepointsite.co.uk/2012/01/sandbox-solution-uls-logging.html
答案 1 :(得分:0)
我找不到它在vm上不起作用的原因,但我决定设置一个新的,并在每个步骤后测试我的解决方案是否有效。
这似乎是一个配置问题。
使用新机器一切正常。
答案 2 :(得分:0)
我遇到了类似的问题,我的解决方案是从SharePoint管理中心内部更改监控级别。
中央管理员 - >配置诊断日志记录 - >然后选择你想要的日志。