Print

sdConsole is a Javascript class used to present logging, warning, error, and debug messages to the user. These messages will be shown:

The sdConsole command syntax is as follows:

Command Syntax:

SD.console.log(string message);

SD.console.warn(string message);

SD.console.error(string message);

SD.console.debug(string message, integer debugLevel);

 

And the sdConsole Javascript source is:

/*!
 * ====================================================================
 * $Id: SDConsole.js 229 2010-11-06 16:22:52Z dgd $
 * Copyright © 2009 - 2010 David DeGroote, Symmetric Designs. All rights reserved.
 */
/*jslint undef:false, white:false, plusplus:false, onevar:false, bitwise:false */

// Create our global namespace if it's not already defined
if (typeof SD === "undefined")
	{
	SD = {};
	}
else if (typeof SD !== "object")
	{
	throw new Error("SD exists and is not an object!");
	}

////////////////////////////////////////////
// Default debug level
SD.DEBUG_LEVEL = 1;

// Default notification method for errors:
//SD.NOTIFY_METHOD = 'alert';	// Can get anoying if there are a lot of messages.
//SD.NOTIFY_METHOD = 'title';	// Multiple messages get overwritten.
SD.NOTIFY_METHOD = 'status';	// Need to enable in Firefox
				// (preferences / Content / Advanced Javascript / Change status bar text).
				// (Multiple messages get overwritten.)

SD.console = {};

SD.console.log = function(msg)
	{
	// Modified from: http://alvinabad.wordpress.com/2009/03/06/firebug-console-object-cannot-be-overridden/
	if (typeof(console) !== 'undefined')
		{
		if (typeof(console.log) === 'function')
			{
			console.log(msg);
			}
		}

	var sdConsoleElement = document.getElementById('sdConsoleId');
	if (sdConsoleElement !== null)
		{
		sdConsoleElement.innerHTML += "<br/>" + msg;
		return true;
		}
	return false;
	};

SD.console.debug = function(msg, debugLevel)
	{
	if (debugLevel > SD.DEBUG_LEVEL)
		{
		return false;
		}

	return SD.console.log("Debug:"+msg);
	};

SD.console.warn = function(msg)
	{
	if (typeof(console) !== 'undefined')
		{
		if (typeof(console.warn) === 'function')
			{
			console.warn(msg);
			}
		}

	return SD.console.log("Warn:"+msg);
	};

SD.console.error = function(msg)
	{
	if (typeof(console) !== 'undefined')
		{
		if (typeof(console.error) === 'function')
			{
			console.error(msg);
			}
		}

	if (SD.console.log("Error *** :"+msg))
		{
		return true;
		}

	// Notify the user
	switch (SD.NOTIFY_METHOD)
		{
		case 'alert':  alert("Error:"+msg);  break;
		case 'title':  document.title = msg; break;
		case 'status': window.status = msg;  break;
		}

	return true;
	};
////////////////////////////////////////////