From 2c28280d2232cd2b2fe0bc1ebefbdaaf59b9e065 Mon Sep 17 00:00:00 2001 From: = Date: Wed, 13 Mar 2013 22:37:50 -0300 Subject: [PATCH 1/2] Better way to show messages in other consoles --- ba-debug.js | 170 ++++++++++++++++++++++++++-------------------------- 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/ba-debug.js b/ba-debug.js index 26faca9..0671bbf 100644 --- a/ba-debug.js +++ b/ba-debug.js @@ -1,11 +1,11 @@ /*! * JavaScript Debug - v0.4 - 6/22/2010 * http://benalman.com/projects/javascript-debug-console-log/ - * + * * Copyright (c) 2010 "Cowboy" Ben Alman * Dual licensed under the MIT and GPL licenses. * http://benalman.com/about/license/ - * + * * With lots of help from Paul Irish! * http://paulirish.com/ */ @@ -13,45 +13,45 @@ // Script: JavaScript Debug: A simple wrapper for console.log // // *Version: 0.4, Last Updated: 6/22/2010* -// +// // Tested with Internet Explorer 6-8, Firefox 3-3.6, Safari 3-4, Chrome 3-5, Opera 9.6-10.5 -// +// // Home - http://benalman.com/projects/javascript-debug-console-log/ // GitHub - http://github.com/cowboy/javascript-debug/ // Source - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.js // (Minified) - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.min.js (1.1kb) -// +// // About: License -// +// // Copyright (c) 2010 "Cowboy" Ben Alman, // Dual licensed under the MIT and GPL licenses. // http://benalman.com/about/license/ -// +// // About: Support and Testing -// +// // Information about what browsers this code has been tested in. -// +// // Browsers Tested - Internet Explorer 6-8, Firefox 3-3.6, Safari 3-4, Chrome // 3-5, Opera 9.6-10.5 -// +// // About: Examples -// +// // These working examples, complete with fully commented code, illustrate a few // ways in which this plugin can be used. -// +// // Examples - http://benalman.com/code/projects/javascript-debug/examples/debug/ -// +// // About: Revision History -// +// // 0.4 - (6/22/2010) Added missing passthrough methods: exception, // groupCollapsed, table // 0.3 - (6/8/2009) Initial release -// +// // Topic: Pass-through console methods -// +// // assert, clear, count, dir, dirxml, exception, group, groupCollapsed, // groupEnd, profile, profileEnd, table, time, timeEnd, trace -// +// // These console methods are passed through (but only if both the console and // the method exists), so use them without fear of reprisal. Note that these // methods will not be passed through if the logging level is set to 0 via @@ -59,186 +59,186 @@ window.debug = (function(){ var window = this, - + // Some convenient shortcuts. aps = Array.prototype.slice, con = window.console, - + // Public object to be returned. that = {}, - + callback_func, callback_force, - + // Default logging level, show everything. log_level = 9, - + // Logging methods, in "priority order". Not all console implementations // will utilize these, but they will be used in the callback passed to // setCallback. log_methods = [ 'error', 'warn', 'info', 'debug', 'log' ], - + // Pass these methods through to the console if they exist, otherwise just // fail gracefully. These methods are provided for convenience. pass_methods = 'assert clear count dir dirxml exception group groupCollapsed groupEnd profile profileEnd table time timeEnd trace'.split(' '), idx = pass_methods.length, - + // Logs are stored here so that they can be recalled as necessary. logs = []; - + while ( --idx >= 0 ) { (function( method ){ - + // Generate pass-through methods. These methods will be called, if they // exist, as long as the logging level is non-zero. that[ method ] = function() { log_level !== 0 && con && con[ method ] && con[ method ].apply( con, arguments ); } - + })( pass_methods[idx] ); } - + idx = log_methods.length; while ( --idx >= 0 ) { (function( idx, level ){ - + // Method: debug.log - // + // // Call the console.log method if available. Adds an entry into the logs // array for a callback specified via . - // + // // Usage: - // + // // debug.log( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + // Method: debug.debug - // + // // Call the console.debug method if available, otherwise call console.log. // Adds an entry into the logs array for a callback specified via // . - // + // // Usage: - // + // // debug.debug( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + // Method: debug.info - // + // // Call the console.info method if available, otherwise call console.log. // Adds an entry into the logs array for a callback specified via // . - // + // // Usage: - // + // // debug.info( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + // Method: debug.warn - // + // // Call the console.warn method if available, otherwise call console.log. // Adds an entry into the logs array for a callback specified via // . - // + // // Usage: - // + // // debug.warn( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + // Method: debug.error - // + // // Call the console.error method if available, otherwise call console.log. // Adds an entry into the logs array for a callback specified via // . - // + // // Usage: - // + // // debug.error( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + that[ level ] = function() { var args = aps.call( arguments ), log_arr = [ level ].concat( args ); - + logs.push( log_arr ); exec_callback( log_arr ); - + if ( !con || !is_level( idx ) ) { return; } - + con.firebug ? con[ level ].apply( window, args ) - : con[ level ] ? con[ level ]( args ) + : con[ level ] ? con[ level ].apply( con, args ) : con.log( args ); }; - + })( idx, log_methods[idx] ); } - + // Execute the callback function if set. function exec_callback( args ) { if ( callback_func && (callback_force || !con || !con.log) ) { callback_func.apply( window, args ); } }; - + // Method: debug.setLevel - // + // // Set a minimum or maximum logging level for the console. Doesn't affect // the callback function, but if set to 0 to disable // logging, will be disabled as well. - // + // // Usage: - // + // // debug.setLevel( [ level ] ) - - - // + // // Arguments: - // + // // level - (Number) If 0, disables logging. If negative, shows N lowest // priority levels of log messages. If positive, shows N highest priority // levels of log messages. // // Priority levels: - // + // // log (1) < debug (2) < info (3) < warn (4) < error (5) - + that.setLevel = function( level ) { log_level = typeof level === 'number' ? level : 9; }; - + // Determine if the level is visible given the current log_level. function is_level( level ) { return log_level > 0 ? log_level > level : log_methods.length + log_level <= level; }; - + // Method: debug.setCallback - // + // // Set a callback to be used if logging isn't possible due to console.log // not existing. If unlogged logs exist when callback is set, they will all // be logged immediately unless a limit is specified. - // + // // Usage: - // + // // debug.setCallback( callback [, force ] [, limit ] ) - // + // // Arguments: - // + // // callback - (Function) The aforementioned callback function. The first // argument is the logging level, and all subsequent arguments are those // passed to the initial debug logging method. @@ -246,22 +246,22 @@ window.debug = (function(){ // callback. If true, log to both console.log and callback. // limit - (Number) If specified, number of lines to limit initial scrollback // to. - + that.setCallback = function() { var args = aps.call( arguments ), max = logs.length, i = max; - + callback_func = args.shift() || null; callback_force = typeof args[0] === 'boolean' ? args.shift() : false; - + i -= typeof args[0] === 'number' ? args.shift() : max; - + while ( i < max ) { exec_callback( logs[i++] ); } }; - + return that; })(); From 59bb475e3c8f3073513575d2d3051806a1462cdd Mon Sep 17 00:00:00 2001 From: = Date: Wed, 13 Mar 2013 22:59:01 -0300 Subject: [PATCH 2/2] Fix the code --- ba-debug.js | 168 ++++++++++++++++++++++++++-------------------------- 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/ba-debug.js b/ba-debug.js index 0671bbf..519d91b 100644 --- a/ba-debug.js +++ b/ba-debug.js @@ -1,11 +1,11 @@ /*! * JavaScript Debug - v0.4 - 6/22/2010 * http://benalman.com/projects/javascript-debug-console-log/ - * + * * Copyright (c) 2010 "Cowboy" Ben Alman * Dual licensed under the MIT and GPL licenses. * http://benalman.com/about/license/ - * + * * With lots of help from Paul Irish! * http://paulirish.com/ */ @@ -13,45 +13,45 @@ // Script: JavaScript Debug: A simple wrapper for console.log // // *Version: 0.4, Last Updated: 6/22/2010* -// +// // Tested with Internet Explorer 6-8, Firefox 3-3.6, Safari 3-4, Chrome 3-5, Opera 9.6-10.5 -// +// // Home - http://benalman.com/projects/javascript-debug-console-log/ // GitHub - http://github.com/cowboy/javascript-debug/ // Source - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.js // (Minified) - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.min.js (1.1kb) -// +// // About: License -// +// // Copyright (c) 2010 "Cowboy" Ben Alman, // Dual licensed under the MIT and GPL licenses. // http://benalman.com/about/license/ -// +// // About: Support and Testing -// +// // Information about what browsers this code has been tested in. -// +// // Browsers Tested - Internet Explorer 6-8, Firefox 3-3.6, Safari 3-4, Chrome // 3-5, Opera 9.6-10.5 -// +// // About: Examples -// +// // These working examples, complete with fully commented code, illustrate a few // ways in which this plugin can be used. -// +// // Examples - http://benalman.com/code/projects/javascript-debug/examples/debug/ -// +// // About: Revision History -// +// // 0.4 - (6/22/2010) Added missing passthrough methods: exception, // groupCollapsed, table // 0.3 - (6/8/2009) Initial release -// +// // Topic: Pass-through console methods -// +// // assert, clear, count, dir, dirxml, exception, group, groupCollapsed, // groupEnd, profile, profileEnd, table, time, timeEnd, trace -// +// // These console methods are passed through (but only if both the console and // the method exists), so use them without fear of reprisal. Note that these // methods will not be passed through if the logging level is set to 0 via @@ -59,186 +59,186 @@ window.debug = (function(){ var window = this, - + // Some convenient shortcuts. aps = Array.prototype.slice, con = window.console, - + // Public object to be returned. that = {}, - + callback_func, callback_force, - + // Default logging level, show everything. log_level = 9, - + // Logging methods, in "priority order". Not all console implementations // will utilize these, but they will be used in the callback passed to // setCallback. log_methods = [ 'error', 'warn', 'info', 'debug', 'log' ], - + // Pass these methods through to the console if they exist, otherwise just // fail gracefully. These methods are provided for convenience. pass_methods = 'assert clear count dir dirxml exception group groupCollapsed groupEnd profile profileEnd table time timeEnd trace'.split(' '), idx = pass_methods.length, - + // Logs are stored here so that they can be recalled as necessary. logs = []; - + while ( --idx >= 0 ) { (function( method ){ - + // Generate pass-through methods. These methods will be called, if they // exist, as long as the logging level is non-zero. that[ method ] = function() { log_level !== 0 && con && con[ method ] && con[ method ].apply( con, arguments ); } - + })( pass_methods[idx] ); } - + idx = log_methods.length; while ( --idx >= 0 ) { (function( idx, level ){ - + // Method: debug.log - // + // // Call the console.log method if available. Adds an entry into the logs // array for a callback specified via . - // + // // Usage: - // + // // debug.log( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + // Method: debug.debug - // + // // Call the console.debug method if available, otherwise call console.log. // Adds an entry into the logs array for a callback specified via // . - // + // // Usage: - // + // // debug.debug( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + // Method: debug.info - // + // // Call the console.info method if available, otherwise call console.log. // Adds an entry into the logs array for a callback specified via // . - // + // // Usage: - // + // // debug.info( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + // Method: debug.warn - // + // // Call the console.warn method if available, otherwise call console.log. // Adds an entry into the logs array for a callback specified via // . - // + // // Usage: - // + // // debug.warn( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + // Method: debug.error - // + // // Call the console.error method if available, otherwise call console.log. // Adds an entry into the logs array for a callback specified via // . - // + // // Usage: - // + // // debug.error( object [, object, ...] ); - - - // + // // Arguments: - // + // // object - (Object) Any valid JavaScript object. - + that[ level ] = function() { var args = aps.call( arguments ), log_arr = [ level ].concat( args ); - + logs.push( log_arr ); exec_callback( log_arr ); - + if ( !con || !is_level( idx ) ) { return; } - + con.firebug ? con[ level ].apply( window, args ) : con[ level ] ? con[ level ].apply( con, args ) : con.log( args ); }; - + })( idx, log_methods[idx] ); } - + // Execute the callback function if set. function exec_callback( args ) { if ( callback_func && (callback_force || !con || !con.log) ) { callback_func.apply( window, args ); } }; - + // Method: debug.setLevel - // + // // Set a minimum or maximum logging level for the console. Doesn't affect // the callback function, but if set to 0 to disable // logging, will be disabled as well. - // + // // Usage: - // + // // debug.setLevel( [ level ] ) - - - // + // // Arguments: - // + // // level - (Number) If 0, disables logging. If negative, shows N lowest // priority levels of log messages. If positive, shows N highest priority // levels of log messages. // // Priority levels: - // + // // log (1) < debug (2) < info (3) < warn (4) < error (5) - + that.setLevel = function( level ) { log_level = typeof level === 'number' ? level : 9; }; - + // Determine if the level is visible given the current log_level. function is_level( level ) { return log_level > 0 ? log_level > level : log_methods.length + log_level <= level; }; - + // Method: debug.setCallback - // + // // Set a callback to be used if logging isn't possible due to console.log // not existing. If unlogged logs exist when callback is set, they will all // be logged immediately unless a limit is specified. - // + // // Usage: - // + // // debug.setCallback( callback [, force ] [, limit ] ) - // + // // Arguments: - // + // // callback - (Function) The aforementioned callback function. The first // argument is the logging level, and all subsequent arguments are those // passed to the initial debug logging method. @@ -246,22 +246,22 @@ window.debug = (function(){ // callback. If true, log to both console.log and callback. // limit - (Number) If specified, number of lines to limit initial scrollback // to. - + that.setCallback = function() { var args = aps.call( arguments ), max = logs.length, i = max; - + callback_func = args.shift() || null; callback_force = typeof args[0] === 'boolean' ? args.shift() : false; - + i -= typeof args[0] === 'number' ? args.shift() : max; - + while ( i < max ) { exec_callback( logs[i++] ); } }; - + return that; })();