Firebugtracer (as3) - utiliser la console firebug pour vos debugs actionscript

Description

Cette source utilise la classe ExternalInterface d'AS3 pour communiquer avec la console JavaScript de Firebug. Je pense qu'un bon nombre d'entre vous connaissent déjà Firebug, cette extension pour Firefox dédiée au debug HTML/CSS/JavaScript.

Ma classe FirebugTracer va vous permettre d'afficher des logs et des messages de debug dans le panneau Console de Firebug depuis ActionScript, de façon très simple.

Source / Exemple :


Voici un exemple d'utilisation :
Vous le retrouverez dans le fla (format Flash CS3)

// Import the class
import FirebugTracer;

// Start a timer
FirebugTracer.startTiming("Execution time");

// Log a text in the Console
FirebugTracer.log("Hello World!");

// Log a warning
FirebugTracer.log("Something seems to be wrong...", FirebugTracer.WARN);

// Log an error
FirebugTracer.log("FATAL ERROR !", FirebugTracer.ERROR);

// Group logs
FirebugTracer.startGroup("This is a group");
FirebugTracer.log("This is line 1");
FirebugTracer.log("This is line 2");
FirebugTracer.log("This is line 3");
FirebugTracer.log("Now we are going to close the group");
FirebugTracer.endGroup();

// Stop and display timer
FirebugTracer.endTiming("Execution time");

Et le code de la classe elle-même :

package
{
	// - - - - - - - - - - -
	// IMPORTS
	
	import flash.external.ExternalInterface;
	
	// - - - - - - - - - - -
	// CLASS
	
	public class FirebugTracer
	{
		// Available display modes : (See http://getfirebug.com/logging.html for more details)
		
		public static const LOG		:String = "console.log";
		public static const DEBUG	:String = "console.debug";
		public static const INFO	:String = "console.info";
		public static const WARN	:String = "console.warn";
		public static const ERROR	:String = "console.error";
		
		// - - - - - - - - - - -
		// FUNCTIONS
		
		// Send a log to the Firebug console using the selected mode
		
		public static function log ( fString:String, fMode:String = LOG ) :void
		{
			if( ExternalInterface.available ) ExternalInterface.call( fMode, fString );
		}
		
		// Start a group
		
		public static function startGroup ( fString:String ) :void
		{
			if( ExternalInterface.available ) ExternalInterface.call( "console.group", fString );
		}
		
		// End a group
		
		public static function endGroup () :void
		{
			if( ExternalInterface.available ) ExternalInterface.call( "console.groupEnd" );
		}
		
		// Start a timer
		
		public static function startTiming ( fString:String ) :void
		{
			if( ExternalInterface.available ) ExternalInterface.call( "console.time", fString );
		}
		
		// Stop and display the timer
		
		public static function endTiming ( fString:String ) :void
		{
			if( ExternalInterface.available ) ExternalInterface.call( "console.timeEnd", fString );
		}
	}
}

Conclusion :


Pour utiliser cette classe vous devrez auparavant installer Firebug (gratuit) :
http://getfirebug.com

Une fois votre page ouverte dans Firefox, il vous faudra activer Firebug et le panneau Console si ce n'est pas déjà fait.

Pour plus de détails sur l'utilisation de la Console elle-même, voir ici :
http://getfirebug.com/logging.html

Si vous avez des questions, n'hésitez pas !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.