As you know,it is difficult to debug a javascript app.Sometimes we use the rough alert() function (to output the error messages),but it's not suitable for complex situations and it will stop the script. So, we need some logging frameworks,which are more powerful than alert().
Corey Johnson's Lumberjack is a Javascript logging framework which supports logging at different levels. There's no setup required, because it creates the logging div itself, so you can immediately issue calls like Logger.info("User logged in."). The console is initially hidden, and you can toggle visibility with Alt-D.
It's useful for AJAX applications,you could see what is the scirpt doing at a cert moment. Here is a screenshot :
And the sample source code:
function ping() {
// Send ping, to let the server know I'm still here
var url = base_url + 'ping.php';
var pars = creds();
var ajax = new Ajax.Request(url, {method: 'post', parameters: pars, onComplete: handle_ping});
Logger.info("Sent Ping: " + pars);
}