Nuevo en Symfony 4.1: ignorar los logs de ciertos códigos HTTP

Guardar en los archivos de log la mayor cantidad de información posible es esencial para poder descubrir después la causa de los errores. Sin embargo, guardar demasiada información es tan malo como guardar poca, ya que al final no es más que "ruido" que hace que los archivos de log sean enormes y confusos.

En Symfony 4.1 hemos mejorado la integración de Monolog para que puedas ignorar los mensajes de log asociados a determinados códigos HTTP. Por ejemplo, la siguiente configuración hace que se ignoren todos los logs asociados a los errore 403 y 404:

# config/packages/monolog.yaml
monolog:
    handlers:
        main:
            # ...
            type: 'fingers_crossed'
            excluded_http_codes: [403, 404]

Si tu aplicación es muy compleja, también puedes excluir esos mensajes de log solamente para ciertas URLs, definidas como patrones usando expresiones regulares:

# config/packages/monolog.yaml
monolog:
    handlers:
        main:
            # ...
            excluded_http_codes: [{ 400: ['^/foo', '^/bar'] }, 403, 404]

Si prefieres la configuración XML, el anterior ejemplo sería:

<!-- config/packages/monolog.xml -->
<monolog:config>
    <monolog:handler type="fingers_crossed" name="main" handler="...">
        <!-- ... -->
        <monolog:excluded-http-code code="400">
            <monolog:url>^/foo</monolog:url>
            <monolog:url>^/bar</monolog:url>
        </monolog:excluded-http-code>
        <monolog:excluded-http-code code="403" />
        <monolog:excluded-http-code code="404" />
    </monolog:handler>
</monolog:config>

Esta funcionalidad fue contribuida por Shaun Simmons en el pull request #23707.

Fuente: New in Symfony 4.1: Ignore specific HTTP codes from logs

Comentarios

Publicada el

24 de mayo de 2018

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.