Error Log

En esta entrada voy a hablar de “error_log” la opción para almacenar información tales como variables para depurar, guardar errores, comprobar resultados o queries … en PHP.

Uso básico de error_log

Normalmente, durante el desarrollo, uno siempre necesita para “debuggear” ir almacenando variables en un log para ir comprobando el estado del sistema o para comprobar o dejar rastro de por dónde va pasando la aplicación en desarrollo.

Para almacenar algo en el log usando PHP, se hace de una manera muy simple, usando la función de PHP “error_log“.

 

A continuación vamos a explicar el código.

$var es una variable con lo que queremos salvar en el log, entraré más en profundidad más adelante, para salvar objetos complejos y algunas situaciones excepcionales.

$path es la ruta o path del fichero donde vamos a almacenar $var.

Finalmente, llamando a “error_log($var, 3, $path);” se nos salvará $var en nuestro fichero.

NOTA:

Usamos ‘3’ por defecto para indicarle a la función de “error_log” que el destino es un fichero de texto. Puedes encontrar más información de error_log en la página oficial de error_log en PHP.net.

Usando error_log para guardar objetos de forma legible

Pero el código anterior, solo nos sirve para almacenar tipos simples, lo cual la mayoría de las veces puede no sernos del todo útil.

Pero por defecto no se guardar de una manera legible al usuario, por lo que necesitamos adaptar un poco el uso que hacemos de error_log.

Para ello, vamos a hacer uso de “print_r” para poder almacenar así, de forma fácil de leer y de entender para el usuario, cualquier tipo de objeto o array.

Un ejemplo usando el siguiente código en PHP:

Usando el código de arriba, tendremos en nuestro fichero de log un resultado como en la imagen siguiente. En caso de no usar “print_r” no se guardaría en el fichero de log de ninguna manera, ya que al usar “print_r” con el objecto a almacenar y el “prettify” marcado a true, nos devolverá un string del objeto de una manera fácil de leer y comprender para usuarios, algo muy útil, sobre todo durante el desarrollo de una aplicación.

Más información de “print_r” en la página oficial de PHP sobre la función print_r.

error_log - salida de un objeto en fichero de log

Creando una función personalizada de error_log

Finalmente, durante el desarrollo es normal usar muchas veces las llamadas a funciones de log, por lo que una manera de encapsular y simplificar el código es realizar una función para ello, lo cual será más fácil de recordar y de usar.

También evitaremos repetir código en distintos sitios y tendremos un código más limpio y elegante.

Un ejemplo podría ser el siguiente.

Como se puede ver, he personalizado una función y he añadido algunos ejemplos de uso. He añadido por defecto, después de guardar los datos he añadido un salto de línea para así la siguiente vez que se ejecute, aparezca en una nueva línea.

Enlaces de interes

http://php.net/manual/es/function.error-log.php

http://php.net/manual/es/function.print-r.php

Juan Ramón González Morales
Follow Me

Juan Ramón González Morales

UX Designer at #JRGONZALEZ.ES
Creando soluciones informáticas a tus problemas.
Soy un blogger con mucha ilusión por las nuevas tecnologías y por compartir y absorber nuevos conocimientos.
UX Designer - Software Engineer.
Juan Ramón González Morales
Follow Me

Latest posts by Juan Ramón González Morales (see all)

¿Y tú qué opinas?

Antes de participar en los comentarios, ten en cuenta que leeré personalmente cualquier cosa que escribas. Así que, por favor, mantén las formas y compórtate como una persona de bien.

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">