Nuevo en Symfony 3.4: logger minimalista basado en PSR-3

Symfony Flex propone una nueva forma de desarrollar aplicaciones a partir de la versión Symfony 3.3. La principal diferencia respecto a la tradicional edición estándar de Symfony es que las aplicaciones ahora tienen que instalar todo lo que necesiten, en vez de tener que desinstalar lo que no necesiten.

En la práctica esto significa que por ejemplo, antes de ejecutar un comando de consola tienes que instalar el paquete de la consola (composer require cli), antes de renderizar una plantilla tienes que instalar el paquete de Twig (composer require twig), etc. Esto también significa que no tienes un logger a menos que instales Monolog mediante el paquete de log (composer require log).

Sin embargo, ya que los logs son esenciales en cualquier aplicación, en Symfony 3.4 hemos añadido un nuevo logger minimalista y basado en el estándar PSR-3 que estará siempre disponible en cualquier aplicación Symfony sin tener que instalar nada.

El nuevo logger estará disponible a través del servicio logger y, si usas autowiring, inyectando la clase Psr\Log\LoggerInterface. El logger ha sido diseñado para integrarse perfectamente con las herramientas usadas en los contenedores (Docker) y en su orquestación (Kubernetes), así como en los proveedores cloud más modernos (Heroku, Google, etc.) Así que si despliegas una aplicación Symfony en esos servicios, los mensajes de log se procesarán, agregarán y guardarán automáticamente. Además:

  • Escribe los mensajes de log por defecto en php://stderr.
  • Define los mismos siete niveles de log que Monolog, pero solo muestra por defecto los mensajes de tipo warning o superior.
  • Define un método principal para loguear: log($level, $message, array $context = []) (donde $level es Psr\Log\LogLevel::DEBUG, Psr\Log\LogLevel::INFO, etc.) y los tradicionales atajos (debug(), info(), warning(), etc.);
  • Los mensajes de log se muestran en la consola cuando se ejecuta la aplicación con el servidor web integrado (bin/console server:start o make serve).

El nuevo logger es minimalista a propósito y por eso consideramos que ya está totalmente terminado. Nunca le añadiremos más opciones o métodos o funcionalidades. Si necesitas más funcionalidades, utiliza Monolog.

Esta funcionalidad fue contribuida por Kévin Dunglas en el Pull Request #24300.

Fuente: New in Symfony 3.4: Minimalist PSR-3 logger

Comentarios

Publicada el

11 de octubre de 2017

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.