对于SharePoint 2013,有没有办法使用JSOM登录到ULS?
如果可能的话,我想避免做一些事情,比如写一个可以用ajax调用的自定义处理程序。
答案 0 :(得分:4)
SharePoint提供名为SharePoint Diagnostics(diagnostics.asmx
)的Web服务,此Web服务使客户端应用程序能够将诊断报告直接提交到ULS日志,有关详细信息,请点击Writing to the SharePoint Unified Logging Service from JavaScript。
SharePoint JavaScript库(init.js
)包含以下使用诊断Web服务的函数:
function ULSOnError(msg, url, line) {
return ULSSendExceptionImpl(msg, url, line, ULSOnError.caller);
}
function ULSSendException(ex) {
var message = ex.message;
if (typeof message == "undefined")
message = ex.toString();
ULSSendExceptionImpl(message, location.href, 0, ULSSendException.caller);
}
示例强>
var ctx = SP.ClientContext.get_current();
var list = ctx.get_web().get_lists().getByTitle(listTitle);
ctx.load(list);
ctx.executeQueryAsync(function() {
//...
},
function(sender,args){
ULS.enable = true; //ensure ULS logging is enabled
ULSOnError('An error occured while getting list' + args.get_message(), location.href, 0);
});