Log de errores Php

Veamos como crear un archivo que almacene los errores que se han producido durante la ejecución de un programa Php, es decir añadir un log de errores a nuestra página desarrollada con Php.

Crear un log de errores en php

Un log de errores php, 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:

<?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, solo tendremos que llamarla de la siguiente manera cuando se produzca un error php para que se guarde en error.log:

<?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 además de poder grabar los errores Php que nosotros definamos en nuestro sitio, nos almacene los errores Php 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:

<?php
set_error_handler('error');
?>

Codigo del Log de error Php

Entonces, el código completo del log de error Php nos queda de la siguiente manera:

<?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 programado en PHP.



alcoholimetro vending | backup | contadora de billetes | formacion | fotocopiadora | infografia | lenticular | money counter | video corporativo | videovigilancia