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):

Función log

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, , ,

Valorar la entrada
1 Puntos2 Puntos3 Puntos4 Puntos5 Puntos
(5 voto(s), 4,20 sobre 5)

Comentarios

  • Luis
    Octubre 17, 2008 - 10:39 #

    Buenas.

    Comentar que yo tengo en algunos programas eso del debugger pero grabandolo en una tabla en Disco.

    Valora este comentario: (0 votos)
  • Fran Varona
    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.

    Valora este comentario: (0 votos)
  • Pablo
    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.

    Valora este comentario: (1 voto, media: 5 de 5)
  • rcueto
    Octubre 17, 2008 - 14:53 #

    Tenéis toda la razón. He cambiado el vocablo para no confundir a nadie más.

    Gracias.

    Valora este comentario: (0 votos)
  • david
    Octubre 21, 2008 - 15:19 #

    Gracias por la info

    Valora este comentario: (0 votos)

Comentar

Cerrar
Enviar por Correo