将客户端错误记录到服务器

时间:2010-05-13 09:26:14

标签: javascript jquery asp.net-mvc error-handling

  

可能重复:
  Logging Clientside JavaScript Errors on Server

如何将客户端javascript错误记录到服务器?我正在使用jQuery和MVC。

2 个答案:

答案 0 :(得分:16)

由于它们是客户端错误,因此您必须使用XMLHttpRequest将它们发送到服务器。您可以使用try...catch语句或window.onerror

window.onerror = function (msg, url, line)
{
    var message = "Error in "+url+" on line "+line+": "+msg;
    $.post("logerror.aspx", { "msg" : message }); 
}

请注意{8}之前的IE版本中lineurl可能非常不准确。

答案 1 :(得分:6)

你可以使用我的log4javascript,它有一个使用XMLHttpRequest登录服务器的appender:

var log = log4javascript.getLogger("serverLog");
var ajaxAppender = new log4javascript.AjaxAppender("clientlogger.jsp");
log.addAppender(ajaxAppender);

try {
    nonExistentFunction();
} catch(ex) {
    log.error("Something's gone wrong!", ex);
}