:o... genial genial... esto me lo guardo :)

---------- Original Message -----------
From: "Manuel de la Higuera" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tue, 18 Nov 2003 17:01:29 +0100
Subject: RE: [ASNativos]  Logger (as2)

> Est� de puta madre lo del logLevel. Si quieres podemos hacer un mix-
> up ;) El tema de la fecha podr�a ser interesante, pero los logs en 
> s� mismos son, en principio, atemporales; salvo que se guarden en un 
> archivo de texto o en bdd.
> 
> > Pos eso, que aproveche (se admiten mejoras :)
> 
> Se me ocurre un "it's not a bug, it's a feature" --o viceversa-- en
> tanto que las instancias del Logger son independientes unas de otras.
> 
> Podr�as mantener una instancia global con un singleton para "reproducir"
> las clases est�ticas de AS2 y as� usar la misma en todos los casos.
> 
> Se puede hacer f�cilmente eliminando el init() de la clase (para que
> evite la instanciaci�n del array) y cambiando el this.$log por un m�todo
> this.getInstance() de este tipo:
> 
> --- 8< ---
> Logger.prototype.getInstance = function() {
>       if (_global.$loggerArray == undefined) {
>               _global.$loggerArray = new Array();
>       }
>       return _global.$loggerArray;
> }
> 
> --- 8< ---
> 
> Esto no es m�s que una apreciaci�n subjetiva, cuando quieras hacemos 
> el remix ;)
> 
> M.
> 
> -----Mensaje original-----
> De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> En nombre de Ale Mu�oz
> Enviado el: martes, 18 de noviembre de 2003 15:33
> Para: [EMAIL PROTECTED]
> Asunto: Re: [ASNativos] Logger (as2)
> 
> 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
> -------------------------------->
> 
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones
> http://www.sidedev.net/asnativos
> -------------------------------->
------- End of Original Message -------

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

Responder a