Registro en PHP 7

El registro es un aspecto importante de cada aplicación. Saber cómo detectar errores no significa necesariamente que estamos manejando la situación defectuosa lo mejor que deberíamos. Si no estamos registrando los detalles correctos y pasándolos al consumidor correcto, entonces no estamos realmente manejando bien la situación.
Consideremos el siguiente ejemplo de captura y generación de mensajes de usuario:

try {
//…
}
catch (\Exception $e) {
$messages[] = __('We can't add this item to your shopping cart right
now.');
}

Consideremos el siguiente ejemplo:

<?php
try {
//…
} catch (\Exception $e) {
$this->logger->critical($e);
$messages[] = __("We can't add this item to your shopping cart right
now . ");
}

Ambos ejemplos reaccionan a la excepción almacenando el mensaje en una variable $messages, que luego se muestra en la pantalla al usuario actual. Esto es excelente ya que la aplicación no se bloquea, se le muestra al usuario lo que sucedió y se le permite ejecutar la aplicación.
Sin embargo, ¿es genial? Los ejemplos son casi idénticos, aparte de un detalle menor. El primer ejemplo simplemente responde al error y reacciona a él en el momento. El segundo ejemplo usa $this->logger->critical($e); expresión para registrar el error, presumiblemente, pero necesariamente, en un archivo. Al registrar el error, hacemos posible que el consumidor lo revise luego. Lo más probable es que el consumidor sea un desarrollador que pueda echar un vistazo a los archivos de registro de vez en cuando. Observe cómo la matriz $messages no se pasa directamente a la variable $e, sino un mensaje personalizado que se adapta a la situación del usuario. Esto es porque al usuario nunca se le debe mostrar el nivel de detalle que podríamos pasar a nuestros registros. Cuantos más detalles pasemos a nuestro registro, más fácil será solucionar problemas de nuestra aplicación. Al registrar un objeto de instancia de excepción completo, en este caso, prácticamente proporcionamos todos los detalles que el desarrollador necesita saber para tratar de evitar un error en el futuro.
Utilizado cuidadosamente, el registro puede proporcionar información analítica de calidad sobre la cual podemos reiterar periódicamente sobre nuestra base de código y evitar problemas que pueden no ser visibles durante el desarrollo inicial. Además de los errores de registro, podríamos registrar fácilmente otros bits analíticos o de otro tipo importantes.

Comparte