使用 JSOM 将错误记录到 ULS

Logging errors to the ULS with JSOM

对于 SharePoint 2013,有什么方法可以使用 JSOM 登录到 ULS?

如果可能的话,我想避免做一些事情,比如编写一个可以用 ajax.

调用的自定义处理程序

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);
   });