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
esPsr\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
omake 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
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.