2012-07-23 15 views
9

Sono nuovo per la flessibilità e sto provando a scrivere alcune applicazioni demo. Ora ho una domanda molto da principianti: come produrre un log in console (o da qualche altra parte che posso vedere) in un'applicazione flex?Come stampare un log in console durante lo sviluppo dell'applicazione flex?

In altra lingua, posso usare:

System.out.println("mylog"); 
console.log("mylog"); 

ma io non so come fare lo stesso in flessione.

risposta

1

Il modo più semplice sarebbe utilizzare "traccia", una funzione di livello superiore, che è possibile utilizzare con un IDE e un Flash Debug Player in esecuzione. Un'altra soluzione potrebbe essere il logger ThunderBolt.

1

Io sono a favore di un tracciante specifica classe chiamata "ttrace", che può essere attivato e disabilitato per una classe. E lo scrivo anche per la prima riga di ogni funzione che creo. Tracciare una storia mi ha spesso salvato sul debug remoto dove non è possibile replicare gli errori che i clienti ti danno. È quindi possibile abilitare o disabilitare ttrace per ripulire le uscite e abilitarle nell'area che si sta aggiornando o correggendo.

SVN: https://code.google.com/p/darceys-as3-components/

ZIP: http://code.google.com/p/darceys-as3-components/downloads/list

Per utilizzare ttrace

// var definition 
    private var t:Ttrace; 

    // Inside constructor 
    t = new Ttrace(true,"",true,false,"Debug console title",600,300); 
    t.ttrace("hello"); 
    addChild(t); 


    // Var dump 
    t.ttrace("myvar = " + myVar); 

    // Warning 
    t.warn("warning"); 

    // Error 
    t.error("An error has occured in ......."); 

Parmaters sono:

Ttrace(
     enabled:Boolean, 
     applicationName:String="", 
     useDebugBox:Boolean=false, 
     debugBoxVisible:Boolean=true, 
     debugBoxTitle:String="", 
     debugBoxWidth:Number=800, 
     debugBoxHeight:Number=400 

)

26

Come accennato here, è possibile raggiungere questo obiettivo facendo

import flash.external.ExternalInterface; 
ExternalInterface.call("console.log", "YourString");