Fichero de Debug
Mediante este módulo puede visualizarse el contenido de un fichero
asociado a la sesión de usuario en el cual se pueden escribir
mensajes desde el código PHP.
Para ello se emplean dos funciones:
-
RAD_debug($mensaje) : Anexa $mensaje como una nueva línea al final del fichero
-
RAD_debugClear() : borra el contenido de todo el fichero de traza
Notas para "readaptación"
Ahora mismo esto está desarrollado un poco "de aquella manera", es decir, he introducido
los ficheros y los módulos donde buenamente se me ha ocurrido.
Lo más probable es que JA tenga que adaptarlo para que no de problemas de ningún tipo
La nueva funcionalidad se basa en los siguientes elementos
- fichero de visualización debug.php :
ubicado en /aplica/symgp/modules/utilsdev/ . Es el que muestra la pantalla
desde la que has llegado a esta ayuda
- fichero de ayuda debugHelp.html :
ubicado en /aplica/symgp/modules/utilsdev/ . Es lo que estás leyendo
- directorio de ficheros temporales empleado _DEF_DIRBASE."files/tmp/ :
Donde se almacena el fichero de Debug asociado a la sesión
- las funciones RAD_debug($mensaje) y RAD_debugClear()
están ahora definidas en common.functions.php, aunque esto implica
que es dependiente del proyecto, por lo que habría que ponerlas en algún módulo
accesible para todas las aplicaciones RAD
El funcionamiento es el siguiente:
- Al invocar a cualquiera de las funciones RAD_debug o RAD_debugClear
o al abrir el módulo debug.php desde el menú se comprueba si en la sesión
está definida la variable SESSION_debugFileName
- Si está definida, se usará el fichero contenido en dicha variable
- En caso contrario se crea un nuevo fichero de nombre
debug.AAAAMMDDHHMMSS.log y se guarda dicho nombre
en la sesión
- PENDIENTE: La idea es que, cuando el usuario cierre la sesión
(o le caduque) el fichero sea borrado por el sistema, para no acumular ficheros basura.
como esto no lo sé hacer, a ver si echais una mano
15/07/2005 - Nuevos cambios de ubicación
Al final he puesto el DEBUG disponible para todas las aplicaciones
moviendo funciones y ficheros
- fichero de visualización debug.php :
ubicado en /aplica/PRL/modules/utilsdev/ . Como /aplica/PRL/modules es
un enlace simbólico a /RAD/modules está accesible a todas las aplicaciones
RAD (excepto SyMGP que va por libre).
- fichero de ayuda debugHelp.html :
ubicación idéntica a debug.php . Es lo que estás leyendo
- directorio de ficheros temporales empleado _DEF_DIRBASE."files/tmp/ :
Aquí ya no sé si es específico de cada aplicación o no, pero da igual
porque un usuario va a ver el fichero de debug asociado a su sesión
- las funciones RAD_debug($mensaje) y RAD_debugClear()
están ahora definidas en functions.php (también he metido otra
función RAD_setFieldProperty, que no tiene nada que ver con el debug, pero
que lo pongo aquí para que no se me olvide.
La función RAD_debug($mensaje) y el fichero debug.php emplean
unas variables locales inicializadas al mismo valor.
Se trata de las variables:
- $DEBUG_FILEPATH=_DEF_DIRBASE."files/tmp/";
- $DEBUG_CRLF = chr(13) . chr(10);
Lo ideal es que estuviesen definidas en algún sitio accesible a todas las aplicaciones RAD,
pero no sé donde ponerlas (me lo dijo JA, pero se me olvidó)
Faltaría por incluir otra nueva variable $DEBUG_ENABLED que, si es distinto
de 'true' deshabilite todo el mecanismo de debug (ni se crea fichero de debug ni se anexan
mensajes)
Así se podría tener una aplicación en desarrollo con $DEBUG_ENABLED=true; y cuando
pase a producción ponerlo a false: no haría falta eliminar las llamadas a RAD_debug,
y en caso de necesitar correcciones, siempre se podría volver a habilitar.
Eso sí, esta variable debería ser accesible a nivel de aplicación (no para todas las aplicaciones
RAD del servidor) , así que no sé donde ponerla.
Hay que recordar añadir la entrada de menú (dentro de Adm. RAD) para acceder a debug.php, así como
dar permisos de acceso.