From 6a0daec400f37cc458831b1deacffa4945a9cae8 Mon Sep 17 00:00:00 2001 From: Constantine Karlis Date: Wed, 31 Mar 2010 09:54:38 +0200 Subject: [PATCH 1/5] Updated main methods to receive a value of any type for the first argument. error(), debug(), info(), warn() and log() can now be passed a value of any type as their first argument. This value will be converted to String for output. Will also work for values of null and NaN --- src/org/osflash/thunderbolt/Logger.as | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/org/osflash/thunderbolt/Logger.as b/src/org/osflash/thunderbolt/Logger.as index 0c7b489..57f96fa 100644 --- a/src/org/osflash/thunderbolt/Logger.as +++ b/src/org/osflash/thunderbolt/Logger.as @@ -100,9 +100,9 @@ package org.osflash.thunderbolt * @param logObjects Array Array of log objects using rest parameter * */ - public static function info (msg: String = null, ...logObjects): void + public static function info (msg: * = null, ...logObjects): void { - Logger.log( Logger.INFO, msg, logObjects ); + Logger.log( Logger.INFO, String(msg), logObjects ); } /** @@ -112,9 +112,9 @@ package org.osflash.thunderbolt * @param logObjects Array Array of log objects using rest parameter * */ - public static function warn (msg: String = null, ...logObjects): void + public static function warn (msg: * = null, ...logObjects): void { - Logger.log( Logger.WARN, msg, logObjects ); + Logger.log( Logger.WARN, String(msg), logObjects ); } /** @@ -124,9 +124,9 @@ package org.osflash.thunderbolt * @param logObjects Array Array of log objects using rest parameter * */ - public static function error (msg: String = null, ...logObjects): void + public static function error (msg: * = null, ...logObjects): void { - Logger.log( Logger.ERROR, msg, logObjects ); + Logger.log( Logger.ERROR, String(msg), logObjects ); } /** @@ -136,9 +136,9 @@ package org.osflash.thunderbolt * @param logObjects Array Array of log objects using rest parameter * */ - public static function debug (msg: String = null, ...logObjects): void + public static function debug (msg: * = null, ...logObjects): void { - Logger.log( Logger.LOG, msg, logObjects ); + Logger.log( Logger.LOG, String(msg), logObjects ); } /** @@ -167,7 +167,7 @@ package org.osflash.thunderbolt * @param msg String log message * @param logObjects Array Array of log objects */ - public static function log (level: String, msg: String = "", logObjects: Array = null): void + public static function log (level: String, msg: * = null, logObjects: Array = null): void { if(!_hide) { @@ -197,7 +197,7 @@ package org.osflash.thunderbolt // add message text to log message - logMsg += msg; + logMsg += String(msg); // send message to the logging system Logger.call( logMsg ); From 8affb2aa9691b3f628de2efafe63c33c828e371a Mon Sep 17 00:00:00 2001 From: Constantine Karlis Date: Wed, 16 Mar 2011 14:45:21 +0100 Subject: [PATCH 2/5] Added 'hideIfReleaseBuild' to Logger --- src/org/osflash/thunderbolt/Logger.as | 30 ++++++++++++++++++--------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/org/osflash/thunderbolt/Logger.as b/src/org/osflash/thunderbolt/Logger.as index 57f96fa..c2be84a 100644 --- a/src/org/osflash/thunderbolt/Logger.as +++ b/src/org/osflash/thunderbolt/Logger.as @@ -96,49 +96,49 @@ package org.osflash.thunderbolt /** * Logs info messages including objects for calling Firebug * - * @param msg String log message + * @param msg * log message * @param logObjects Array Array of log objects using rest parameter * */ public static function info (msg: * = null, ...logObjects): void { - Logger.log( Logger.INFO, String(msg), logObjects ); + Logger.log( Logger.INFO, msg, logObjects ); } /** * Logs warn messages including objects for calling Firebug * - * @param msg String log message + * @param msg * log message * @param logObjects Array Array of log objects using rest parameter * */ public static function warn (msg: * = null, ...logObjects): void { - Logger.log( Logger.WARN, String(msg), logObjects ); + Logger.log( Logger.WARN, msg, logObjects ); } /** * Logs error messages including objects for calling Firebug * - * @param msg String log message + * @param msg * log message * @param logObjects Array Array of log objects using rest parameter * */ public static function error (msg: * = null, ...logObjects): void { - Logger.log( Logger.ERROR, String(msg), logObjects ); + Logger.log( Logger.ERROR, msg, logObjects ); } /** * Logs debug messages messages including objects for calling Firebug * - * @param msg String log message + * @param msg * log message * @param logObjects Array Array of log objects using rest parameter * */ public static function debug (msg: * = null, ...logObjects): void { - Logger.log( Logger.LOG, String(msg), logObjects ); + Logger.log( Logger.LOG, msg, logObjects ); } /** @@ -197,7 +197,7 @@ package org.osflash.thunderbolt // add message text to log message - logMsg += String(msg); + logMsg += msg.toString(); // send message to the logging system Logger.call( logMsg ); @@ -515,7 +515,17 @@ package org.osflash.thunderbolt return message; - } + } + + private static function get isReleaseBuild():Boolean + { + return new Error().getStackTrace().search(/:[0-9]+\]$/m) <= -1; + } + + public static function set hideIfReleaseBuild(value:Boolean):void + { + Logger.hide = isReleaseBuild; + } } } From 543c52b164fcf4a4431359222d13b3c03c9637dc Mon Sep 17 00:00:00 2001 From: Constantine Karlis Date: Wed, 16 Mar 2011 14:45:21 +0100 Subject: [PATCH 3/5] Main methods can take a first argument of any type. Added 'hideIfReleaseBuild' static var (getter/setter) --- src/org/osflash/thunderbolt/Logger.as | 30 ++++++++++++++++++--------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/org/osflash/thunderbolt/Logger.as b/src/org/osflash/thunderbolt/Logger.as index 57f96fa..c2be84a 100644 --- a/src/org/osflash/thunderbolt/Logger.as +++ b/src/org/osflash/thunderbolt/Logger.as @@ -96,49 +96,49 @@ package org.osflash.thunderbolt /** * Logs info messages including objects for calling Firebug * - * @param msg String log message + * @param msg * log message * @param logObjects Array Array of log objects using rest parameter * */ public static function info (msg: * = null, ...logObjects): void { - Logger.log( Logger.INFO, String(msg), logObjects ); + Logger.log( Logger.INFO, msg, logObjects ); } /** * Logs warn messages including objects for calling Firebug * - * @param msg String log message + * @param msg * log message * @param logObjects Array Array of log objects using rest parameter * */ public static function warn (msg: * = null, ...logObjects): void { - Logger.log( Logger.WARN, String(msg), logObjects ); + Logger.log( Logger.WARN, msg, logObjects ); } /** * Logs error messages including objects for calling Firebug * - * @param msg String log message + * @param msg * log message * @param logObjects Array Array of log objects using rest parameter * */ public static function error (msg: * = null, ...logObjects): void { - Logger.log( Logger.ERROR, String(msg), logObjects ); + Logger.log( Logger.ERROR, msg, logObjects ); } /** * Logs debug messages messages including objects for calling Firebug * - * @param msg String log message + * @param msg * log message * @param logObjects Array Array of log objects using rest parameter * */ public static function debug (msg: * = null, ...logObjects): void { - Logger.log( Logger.LOG, String(msg), logObjects ); + Logger.log( Logger.LOG, msg, logObjects ); } /** @@ -197,7 +197,7 @@ package org.osflash.thunderbolt // add message text to log message - logMsg += String(msg); + logMsg += msg.toString(); // send message to the logging system Logger.call( logMsg ); @@ -515,7 +515,17 @@ package org.osflash.thunderbolt return message; - } + } + + private static function get isReleaseBuild():Boolean + { + return new Error().getStackTrace().search(/:[0-9]+\]$/m) <= -1; + } + + public static function set hideIfReleaseBuild(value:Boolean):void + { + Logger.hide = isReleaseBuild; + } } } From f91d15defcf9640086281978e8276b31ea3efe2a Mon Sep 17 00:00:00 2001 From: Constantine Karlis Date: Wed, 16 Mar 2011 14:59:22 +0100 Subject: [PATCH 4/5] Added 'bin' to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 410656c..46dbf6b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ bin-debug/** +bin adt.txt From 6fb30d2e10e134cfddd1007bf3f5b784ff549c4c Mon Sep 17 00:00:00 2001 From: Constantine Karlis Date: Wed, 16 Mar 2011 17:42:32 +0100 Subject: [PATCH 5/5] Fixed a bug in Logger.isReleaseBuild that would cause a swf to break if called in the constructor of the main class running on a non-debug player --- src/org/osflash/thunderbolt/Logger.as | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/org/osflash/thunderbolt/Logger.as b/src/org/osflash/thunderbolt/Logger.as index c2be84a..8dcb885 100644 --- a/src/org/osflash/thunderbolt/Logger.as +++ b/src/org/osflash/thunderbolt/Logger.as @@ -517,14 +517,28 @@ package org.osflash.thunderbolt return message; } + // this method is inspired by Michael VanDaniker's SWFCapabilities class + // http://michaelvandaniker.com/blog/2008/11/25/how-to-check-debug-swf/ private static function get isReleaseBuild():Boolean { - return new Error().getStackTrace().search(/:[0-9]+\]$/m) <= -1; + try + { + throw new Error(); + } + catch(e:Error) + { + var stackTrace:String = e.getStackTrace(); + var isDebug:Boolean = (stackTrace != null && stackTrace.indexOf("[") != -1); + return !isDebug; + } + + // this value is never returned. it just stops the compiler from complaining + return false; } public static function set hideIfReleaseBuild(value:Boolean):void { - Logger.hide = isReleaseBuild; + Logger.hide = Logger.isReleaseBuild; } }