Функция ведения логов
	
    
        
        
	
	
	
Мне немного надоело везде писать if (console && console.log) { ... } и я написал небольшую оберточку: 
var log = function () {
	/*	Кушаем крайний аргумент, в котором
	лежит loglevel текущего сообщения	*/
	var loglevel = Array.prototype.pop.call(arguments);
	if (typeof console !== 'undefined' &&
		console.log &&
		((loglevel & log.level) !== 0)) {
		console.log.apply(console, arguments);
	}
};
log.levels = {
	template: 1,
	call: 2
};
/*	выводить в лог только сообщения
с флагом log.levels.call	*/
log.level = log.levels.call;
	
	 | 
if (!("console" in window) || !("firebug" in console)) { var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; window.console = {}; for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {} }не?
Не. У меня не заглушка, а функция, которая выводит сообщения в консоль (если она есть) в зависимости от флага, который я передаю последним параметрам. Хочу — вывожу только логи с флагом log.levels.call, а хочу — только с log.levels.templates.
я тоже такое делал
http://mabp.kiev.ua/2009/01/05/console2/