ProgramacionWeb - Ayuda al webmaster
No has iniciado sesión
Conectar al sistema | Registrar usuario
Categorías Articulo
 
5 votos
Crear un log de errores
 
 
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.
 
 
Comentarios
19/12/04 Comentario 424
Articulo bastante bueno, para llevar el control de erores
 
Resolver dudas
Si tienes problemas o dudas con el contenido del artículo no dudes a preguntar en los foros de PHP de Programación Web indicando el artículo al que te refieres.