Yo tengo por aqui un (modesto) Logger en AS1, por si a
alguien le interesa (es un poco petardo, pero certifico
que es util :)

Funciona un poco como los Loggers de Unix. Cada evento lleva
asociado un nivel (logLevel), m�s alto cuanto menos "importante"
sea. Al llamar a getLog(logLevel), se devuelven todos los eventos
*por encima* del nivel que se pasa como par�metro.

Yo lo uso con varios niveles (1: Core, 2: L�gica, 3: Interfaz,
por ejemplo) y cuando quiero ver qu� falla con la Interfaz s�lo
tengo que ver los logs del nivel 3 :)

Cada vez que se a�ade un evento, se dispara el evento onLog()
del Logger (yo lo uso para actualizar un campo de texto, por
ejemplo)

Algun d�a pondr� tambi�n soporte para "tipo" de log (de momento
s�lo se guarda, pero no se usa :) y para fecha, pero todav�a
no me ha hecho falta para nada :)

Pos eso, que aproveche (se admiten mejoras :)


a!e



-[ Logger.as ]------------------------------------------------ Logger = function(){ this.init(); } Logger.prototype.addLog = function(logText,logType,logLevel){ if(logType==undefined){ logType = "default"; } if(logLevel==undefined){ logLevel = 1; } this.$log.push([logLevel,logType+" | "+logText]); this.$onLog(logText,logType,logLevel); } Logger.prototype.getLog = function(logLevel){ var logData = ""; for(var i=0; i< this.$log.length; i++){ if(this.$log[i][0] >= logLevel){ logData += this.$log[i][1]+"\n"; } } return logData; } Logger.prototype.$onLog = function(logText,logType,logLevel){ this.onLog(logText); } Logger.prototype.init = function(){ this.$log = new Array(); } --------------------------------------------------------------

Ejemplo:

        myLog = new Logger();
        myLog.onLog = function(msg){
                trace(msg);
        }
        myLog.addLog("bar","Core",1);
        myLog.addLog("foobar","APP",2)
        myLog.addLog("foo","UI",3);

        trace(myLog.getLog(2)); // APP | foobar
                                // UI | foo

<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->

Responder a