如何将客户端javascript错误记录到服务器?我正在使用jQuery和MVC。
答案 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版本中line
和url
可能非常不准确。
答案 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);
}