客户端 javascript 的错误日志记录 [英] Error-logging for javascript on client side
问题描述
我的项目包含很多带有表单的页面.这是银行CRM系统的后端,因此工作过程中的任何错误都将被捕获和调查.在服务器端,我们增强了 Java 异常系统,但如果客户端发生错误 - javascript,我们现在获得的唯一信息是 IE 中的 js 错误窗口,或者有时是高级用户制作的页面截图.
My project which contains a lot of pages with forms. This is a backend of banking CRM system, so any error during working process is to be captured and investigated. On the server side we have enhanced java exceptions system, but if error occurs on client side - javascript the only info we now get is an js-error window in IE or sometimes a screenshot of page made by advanced user.
Javascript 代码包含 Jquery 驱动的 UI 扩展和硬编码的内联事件处理程序和函数.
Javascript code contains both Jquery-powered UI extensions and hard-coded inline event handlers and functions.
所以我在问是否可以使用任何方法来捕获任何类型的 js 错误?一些额外的库或可以给我堆栈跟踪的东西,比如 Mozilla 中的 firebug 或 Chrome 中的网络控制台?
So I am asking whether any approach for capturing js-errors of any kind could be used? some additional library or something that could give me a stacktrace like firebug in Mozilla or web-console in Chrome?
推荐答案
查看 window.onerror
.如果您想捕获任何错误并将其报告给服务器,那么您可以尝试使用 AJAX 请求.
Look into window.onerror
. If you want to capture any errors, and report them to the server, then you could try an AJAX request, perhaps.
window.onerror = function(errorMessage, errorUrl, errorLine) {
jQuery.ajax({
type: 'POST',
url: 'jserror.jsf',
data: {
msg: errorMessage,
url: errorUrl,
line: errorLine
},
success: function() {
if (console && console.log) {
console.log('JS error report successful.');
}
},
error: function() {
if (console && console.error) {
console.error('JS error report submission failed!');
}
}
});
// Prevent firing of default error handler.
return true;
}
这篇关于客户端 javascript 的错误日志记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!