Crear un simple logger en PHP para depurar y escribir errores en archivo de texto Depurar nuestro código de PHP es uno de los pasos más importantes de la programación. Una gran ayuda que tenemos a nuestra disposición son los logs o archivos de log.
Hoy veremos cómo escribir mensajes de error y depuración (o debug) en archivos de texto usando PHP sin usar librerías externas, únicamente funciones nativas y un poco de código al inicio de nuestro script.
Gracias a esto podremos escribir mensajes de información y también llevar un registro de errores sin mostrarlos al usuario, con fecha y hora de llamada así como el script de llamada.
Un ejemplo del log que vamos a crear (esto dependerá de tu app pero para que te des una idea) es este:
[07-Feb-2019 09:37:29 America/Mexico_City] Soy un mensaje
[07-Feb-2019 09:37:29 America/Mexico_City] PHP Warning: Division by zero in D:\desarrollo_php\htdocs\loguear\index.php on line 9
[07-Feb-2019 09:37:29 America/Mexico_City] Mensaje desde la línea 12 del archivo D:\desarrollo_php\htdocs\loguear\index.php
[07-Feb-2019 09:37:29 America/Mexico_City] Hola, yo soy parzibyte y mi sitio es parzibyte.me
[07-Feb-2019 09:37:29 America/Mexico_City] Los personajes son: a:4:{i:0;s:5:"Crash";i:1;s:10:"Fake Crash";i:2;s:4:"Pura";i:3;s:5:"Polar";}
[07-Feb-2019 09:37:29 America/Mexico_City] La mascota: array (
'nombre' => 'Maggie',
'edad' => 3,
'amigos' => array (
0 => array (
'nombre' => 'Guayaba',
'edad' => 2,
),
1 => array (
'nombre' => 'Meca',
'edad' => 5,
),
2 => array (
'nombre' => 'Snowball',
'edad' => 2,
),
),
)
[07-Feb-2019 09:37:29 America/Mexico_City] PHP Fatal error: Uncaught Exception: Yo soy una excepción muy malvada in D:\desarrollo_php\htdocs\loguear\index.php:48
Stack trace:
#0 {main}
thrown in D:\desarrollo_php\htdocs\loguear\index.php on line 48 Veamos entonces cómo loguear con PHP, además de evitar mostrar los errores al usuario, asegurando nuestras aplicaciones web.
...