Publicidad

Clase para guardar errores en PHP


Por Alex el 08/12/2013 , Comentarios: 1

Comparte este artículo:        




Con esta clase los errores de PHP se irán guardando en un fichero a través de la función de PHP error_log cada vez que se produzcan en las páginas php y podremos saber en que linea y que punto tenemos un error.


Para utilizar la clase hay que incluirla en nuestra aplicación y definir una ruta para el fichero de errores de la siguiente manera:

$rutaLogs = "/home/depruebas/wwwroot/web/files/logs/";
require_once "CustomErrorLog.php";
rutaLogs tiene que tener permisos 777.

La clase se pone en marcha y empieza a capturar errores cuando se instancia la clase:

$el = new CustomErrorLog();
Actualmente esta linea esta puesta al final del fichero de la clase.

¿Como funciona? set_error_handler define una funcion de usuario donde se apraparan los errores. En nuestra clase tenemos la siguiente funcion definida

set_error_handler( array( &$this, 'customError'));
public function customError($errno, $errstr, $errfile, $errline)
Con los siguientes argumentos

$errno, el el numero de error.
$errstr, es el texto del error.
$errfile, fichero donde se ha producido el error.
$errline, linea donde se ha producido el error.


Utilizamos tambien la función

$debug = debug_backtrace(); 
para obtener la linea y fichero desde donde viene el error. register_shutdown_function, se ejecuta cuando finaliza un escript ya sea por un die, exit o por un error. En nuestro caso definimos un método por si la llamada a esta funcion la realiza un error:

register_shutdown_function( array( &$this, 'CatchFatalError'));
public function CatchFatalError()
En este método obtendremos el ultimo error generado

$error = error_get_last();
Si lo hay y lo guardaremos en el fichero de errores. Para probar la clase podemos probar este script:


    $rutaLogs = "/home/depruebas/wwwroot/web/files/logs/";
require_once "CustomErrorLog.php";

print_r ($r);
El codigo lo podeis encontrar en github, customerrorlog

Y esto es todo amigos!!! Saludos
Alex



Si te ha gustado el artículo compartelo en:        


Publicidad

También puede interesarte:

Configurar Codeigniter y bootstrap

Configurar Codeigniter y bootstrap

Por Alex, el 17/01/2020

Session Error en Codeigniter

Session Error en Codeigniter

Por Alex, el 16/01/2020

Activar php.ini en Mac OS Mojave

Activar php.ini en Mac OS Mojave

Por Alex, el 13/01/2020

Rutas dinámicas con CodeIgniter

Rutas dinámicas con CodeIgniter

Por Alex, el 02/12/2019

PDO y PHP, clase de acceso a datos - PDOClass.php

PDO y PHP, clase de acceso a datos - PDOClass.php

Por Alex, el 22/11/2019

Enviar datos JSON a una API con Curl

Enviar datos JSON a una API con Curl

Por Alex, el 18/11/2019


Añadir un comentarios:

Nombre:
Email: (no se publica el email)

avatar

felip 12/08/2018 06:30:11

Gracias me fue de utilidad encontrar está información.

saludos cordiales.




SIGUENOS EN

ARCHIVO

Publicidad

.