function report(message, url, linenumber) { if (window.XMLHttpRequest) { var xhr = new XMLHttpRequest(); var scripturl = "http://yourdomain.example.com/report"; var log = linenumber + message + url; xhr.open("POST", scripturl); xhr.setRequestHeader("Content-Type", "text/plain; charset=UTF-8"); xhr.send(log); } } function reportEx(ex) { // Extract Info from exception var info = extract(ex); report(info.message, info.url, info.lineno); } Some Helpers
window.onerror = report; // With try-catch try { // Some code } catch (e) { // Character No // Stack Traces // Works for cross origin reportEx(e); } Usage
jQuery // All methods of jquery will be wrapped track(jQuery); // A simple helper to track ajax errors $(document).ajaxError( function(event, jqXHR, ajaxSettings, thrownError) { // Report this error report(thrownError, null, null); });