Un log de errores, es un archivo que almacena los errores que se han producido durante la ejecución de un programa, añadir un log de errores a nuestra página, nos permitirá controlar cuando se ha producido un error para corregirlo y evitar que se repita en el futuro. Para crear un log, abriremos el archivo en modo 'a' (escritura al final) y escribiremos el error indicando la fecha, para simplificar el trabajo lo podemos incluir todo en una función:
000 001 002 003 004 005 006
|
<?php function error($numero,$texto){ $ddf = fopen('error.log','a'); fwrite($ddf,"[".date("r")."] Error $numero: $texto\r\n"); fclose($ddf); } ?>
|
Una vez declarada la función, tansolo tendremos que llamarla de la siguiente manera cuando se produzca un error para que se guarde en error.log:
000 001 002 003 004 005 006
|
<?php // Si no existe la cookie sesion if(!isset($_COOKIE['sesion'])){ // Guardamos un error error('001','No existe la cookie de sesion'); } ?>
|
De esta manera, cada vez que un usuario entra a esta página sin la cookie sesion, se almacena una nueva línea en el fichero indicando: [fecha] Error 001: No existe la cookie de sesion Vamos a ver ahora como podemos mejorar esto de manera que ademas de poder grabar los errores que nosotros definamos en nuestro sitio, nos almacene los errores producidos durante la ejecución del script php. Esto lo conseguiremos indicando al interprete Zend que llame a la función error() cada vez que el código PHP contenga un error con la función set_error_handler:
000 001 002
|
<?php set_error_handler('error'); ?>
|
Entonces, el código completo nos queda de la siguiente manera:
000 001 002 003 004 005 006 007
|
<?php function error($numero,$texto){ $ddf = fopen('error.log','a'); fwrite($ddf,"[".date("r")."] Error $numero:$texto\r\n"); fclose($ddf); } set_error_handler('error'); ?>
|
Y de esta manera damos por finalizado nuestro script para generar un log de errores personales y de PHP. |