现在我使用此代码将错误日志从用户保存到数据库
window.onerror = function (msg, url, line) {
$.ajax({
type: "POST",
url: "call/savelog.php",
data: {
type : "bug\n" + version,
message : 'Error message: '+msg+'\nURL: '+url+'\nLine Number: '+line
}
});
return true;
};
当 jquery 或 kineticjs 函数发生错误时,
如果它在 javascript 控制台中,我会得到类似的东西
Uncaught TypeError: Cannot read property '_id' of undefined kinetic-v4.0.2.js:1386
Kinetic.Node.remove kinetic-v4.0.2.js:1386
Kinetic.Layer.remove kinetic-v4.0.2.js:3667
drawCountdown side_play.js:105
所以我会知道我的 javascript 文件 side_play.js 中的 drawCountdown 函数导致的错误,
但它在我的错误日志中看起来像这样
Error message: Uncaught TypeError: Cannot read property '_id' of undefined
URL: https://myurl.com/js/kinetic-v4.0.2.js
Line Number: 1386
所以我不知道是哪个函数导致了错误。
如何追踪导致错误的最深层函数并将错误日志保存到数据库