发送JS错误日志到服务器
JS记录错误日志/捕捉错误
//onerror提供异常信息,文件路径和发生错误代码的行数的三个参数。
window.onerror = function(e,url,index){ var msg = e.message || e|| "未知错误"; alert("错误信息:"+msg+",错误路径:"+ul+",行数:"+index); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 |
var
logger = ( function (){ 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(); |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。