package ctz.util { import flash.external.ExternalInterface; public final class ConsoleLog { public function ConsoleLog() { throw new Error("static methods only"); } public static function log(o:Object):void { if (o is Array) ConsoleLog.logArray(o as Array); else if (o is String) ConsoleLog.logString(o as String); else ConsoleLog.logObject(o); } public static function logString(msg:String):void { if (ExternalInterface.available) ExternalInterface.call("function log(msg){ if (window.console) { console.log(msg); } }", msg); } public static function logObject(obj:Object):void { var s:String = ""; for (var k:String in obj) s += k + ": " + obj[k]; ConsoleLog.logString(s); } public static function logArray(arr:Array):void { var s:String = "Item Count: " + arr.length + " || "; for (var i:int = 0; i < arr.length; i++) s += i + ": " + arr[i] + " "; ConsoleLog.logString(s); } } }