您的位置:首页 > Web前端 > JavaScript

发送JS错误日志到服务器

2014-06-11 11:26 260 查看
JS记录错误日志/捕捉错误   

//onerror提供异常信息,文件路径和发生错误代码的行数的三个参数。

window.onerror = function(e,url,index){ var msg = e.message || e|| "未知错误"; alert("错误信息:"+msg+",错误路径:"+ul+",行数:"+index); }

var logger = (function(){
var loghost = 'http://127.0.0.1/log.gif?';
var log = function(err){
var img = new Image(0,0);
var _url =[];
_url.push('name'+'='+encodeURIComponent(err.name));
_url.push('message'+'='+encodeURIComponent(err.message));
_url.push('location'+'='+encodeURIComponent(err.location));
if(err.line)
_url.push('line'+'='+encodeURIComponent(err.line));
if(err.func)
_url.push('func'+'='+encodeURIComponent(err.func));

var url = _url.join('&');
img.src = loghost+url;
console.log(img.src);
}
return {log:log};
})();

function trapError(msg, URI, ln) {
// wrap our unknown error condition in an object
var error = new Error(msg);
error.location = URI; // add custom property
error.line = ln;
logger.log(error);
warnUser();
return true; // stop the yellow triangle
}

window.onerror = trapError;

function foo() {
try {
riskyOperation();
} catch (err) {
// add custom property
err.location = location.href;
err.func = 'foo';
logger.log(err);
warnUser();
}
}
function warnUser() {
alert("An error has occurred while processing this page.\
Our engineers have been alerted!");
// do something
}
foo();


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐