Seguramente en más de una ocasión te habrás planteado la posibilidad de crear log para algún proceso crÃtico de una aplicación, pues bien, en este artÃculo te mostraré una posible forma de hacerlo de modo que su implementación haga crecer lo menos posible el número de lÃneas de dicho proceso.
La estrategia que voy a utilizar se basa en la creación de una función de log que será llamada desde los procesos a depurar.
Para ello serán necesarias tres variables globales
en disco y una función (objeto visual)
.
Las variables globales serán:
LOG-ACTIVAR: Variable global de tipo booleano que permitirá activar/desactivar el log.
LOG-DISCO: Variable global de tipo booelano. Si está activada, el log será generado en un fichero en disco, si está desactivada, será presentado por pantalla.
LOG-SENDA: Variable global de tipo alfabético donde el usuario podrá especificar el directorio donde será creado el log en disco.
La función constará de un único parámetro, que será el mensaje a generar en el log (pulsar sobre la imagen para ampliarla):
La función comprueba si la variable LOG-ACTIVAR está activada, en caso negativo no hará nada, en caso afirmativo generará el mensaje en un fichero de disco o por pantalla, según el valor que tenga la variable LOG-DISCO.
En el proceso que se quiera depurar, simplemente habrá que llamar a esta función y pasarle el mensaje a generar en el log en cada punto del proceso que consideremos necesario. Ejemplo (pulsar sobre la imagen para ampliarla):
En el proceso a depurar, por tanto, se usa una única lÃnea por cada mensaje del log.
Al tratarse de una función (objeto visual) podrá ser llamada desde cualquier proceso; incluso podrÃa ser añadida al almacén de objetos para ser reutilizarda en futuros proyectos.
Para el caso de log en disco se podrÃa añadir un parámetro más a la función que sea el identificador del archivo log a generar, de este modo se podrá generar un fichero log diferente por cada proceso a depurar de una misma aplicación.
Etiquetas: debugger, depuración de código fuente, desarrollo, procesos










Octubre 17, 2008 - 10:39 #
Buenas.
Comentar que yo tengo en algunos programas eso del debugger pero grabandolo en una tabla en Disco.
Octubre 17, 2008 - 12:56 #
Hola.
Por un momento pensé que se trataba de un “debugger” de verdad (o de un modo de realizar una función parecida), pero compruebo que se trata de un “log” en sentido estricto. Lástima.
Octubre 17, 2008 - 13:46 #
Buenas.
Alomejor me equivoco rcueto, pero esto que explicas es para crear un LOG, un debugger a mi entender y el de la Wikipedia es algo muy distinto:
Según Wikipedia:
Un depurador (en inglés, debugger), es un programa que permite depurar o limpiar los errores de otro programa informático.
De un debugger a un log, hay un trecho muy grande.
Saludos.
Octubre 17, 2008 - 14:53 #
Tenéis toda la razón. He cambiado el vocablo para no confundir a nadie más.
Gracias.
Octubre 21, 2008 - 15:19 #
Gracias por la info