-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathlogerr.min.js
1 lines (1 loc) · 2.63 KB
/
logerr.min.js
1
var Logerr=function(){"use strict";function b(b){b||(b={});var d={detailedErrors:!0,remoteLogging:!1,remoteSettings:{url:null,additionalParams:null,successCallback:null,errorCallback:null}};a=Object.assign(d,b),window.removeEventListener("error",c),window.addEventListener("error",c)}function c(b){a.detailedErrors&&d(b),a.remoteLogging&&e(b,a.remoteSettings)}function d(a){var b=g(a),c=encodeURI("https://stackoverflow.com/search?q="+b.error.split(" ").join("+")),d=["%cType: %c"+b.type,"%cError: %c"+b.error,"%cStackTrace: %c"+b.stackTrace,"%cFile Name: %c"+b.filename,"%cPath: %c"+b.path,"%cLine: %c"+b.line,"%cColumn: %c"+b.column,"%cDate: %c"+b.datetime,"%cDebug : %c"+b.path+":"+b.line,"%cGet Help: %c"+c].join("\n");window.chrome?console.log(d,"font-weight: bold;","color: #e74c3c;","font-weight: bold;","font-weight: normal; color: #e74c3c;","font-weight: bold;","font-weight: normal; color: #e74c3c;","font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal; color: #3498db;"):console.log(d.replace(/%c/gi,""))}function e(a,b){if(!b.url)throw new Error("Provide remote URL to log errors remotely");if(b.additionalParams&&"object"!=typeof b.additionalParams)throw new Error("Invalid data type, additionalParams should be a valid object");var c=new XMLHttpRequest,d=b.url,e=g(a),h=Object.assign(e,b.additionalParams),i=f(h);c.open("POST",d,!0),c.setRequestHeader("Content-type","application/x-www-form-urlencoded"),c.send(i),c.onreadystatechange=function(){if(4==c.readyState&&200==c.status)if(c.readyState==XMLHttpRequest.DONE)b.successCallback&&b.successCallback();else{if(!b.errorCallback)throw new Error("Remote error logging failed!");b.errorCallback()}}}function f(a){return Object.keys(a).map(function(b){return encodeURIComponent(b)+"="+encodeURIComponent(a[b])}).join("&")}function g(a){var b=a.filename.lastIndexOf("/"),c=(new Date).toString();return{type:a.type,path:a.filename,filename:a.filename.substring(++b),line:a.lineno,column:a.colno,error:a.message,stackTrace:a.error?a.error.stack.toString().replace(/(\r\n|\n|\r)/gm,""):"",datetime:c,userAgent:navigator.userAgent||window.navigator.userAgent}}var a;return"function"!=typeof Object.assign&&(Object.assign=function(a){if(null===a)throw new TypeError("Cannot convert undefined or null to object");a=Object(a);for(var b=1;b<arguments.length;b++){var c=arguments[b];if(null!==c)for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a}),{init:b}}();