Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

How to Log Javascript Errors in C#

0.00/5 (No votes)
29 Dec 2011 1  
Logging client side JavaScript errors to the server.

This code shows how to handle a JavaScript error by posting the details back to the server to be logged. This code can be wired up to use any logging system.


The errors.js file establishes a handler for window.onerror to call the handleError function. The handleError function creates a web request (using the createHttpRequest function in httpRequests.js) and posts the error details back to LogJavascriptError.aspx. The LogJavascriptError.aspx file then logs the details to the file.


errors.js

C#
var applicationPath = '';

function handleError(msg, srcUrl, line){

    var receiveReq = createHttpRequest();

    var url = applicationPath + '/Admin/LogJavascriptError.aspx';

    var data  = "ErrorData=" + msg + "&SourcePage=" + srcUrl + "&Line=" + line;

    receiveReq.open("POST", url, true);

    receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    receiveReq.setRequestHeader("Content-length", data.length);
    receiveReq.setRequestHeader("Connection", "close");

    receiveReq.send(data);
}

window.onerror=handleError;

http://code.google.com/p/sitestarter/source/browse/trunk/Src/App/WWW/js/errors.js[^]


httpRequests.js

C#
function createHttpRequest() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest(); //Not IE
    } else if(window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP"); //IE
    } else {
        alert("Your browser doesn't support the XmlHttpRequest object.  Please upgrade to Firefox.");
    }
}

http://code.google.com/p/sitestarter/source/browse/trunk/Src/App/WWW/js/httpRequests.js[^]


LogJavascriptError.aspx

C#
string errorData = Request.Form["ErrorData"];
string sourcePage = Request.Form["SourcePage"];
string line = Request.Form["Line"];

string full = "Javascript error: " + errorData + Environment.NewLine + 
              "Location: " + sourcePage + ", line " + line;

LogWriter.Error(full);

Response.Write("Done");

http://code.google.com/p/sitestarter/source/browse/trunk/Src/App/WWW/Admin/LogJavascriptError.aspx[^]

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here