Symfony 4.1: Desconsiderando Códigos HTTP Específicos nos Logs
Registrar em log o máximo de informações possível é essencial para ajudá-lo a depurar os problemas encontrados em suas aplicações. No entanto, gravar em log muita informação pode ser tão ruim quanto gravar pouca, devido a todo o “ruído” adicionado aos seus logs.
É por isso que no Symfony 4.1 foi melhorada a integração do Monolog para permitir excluir mensagens de log relacionadas a códigos HTTP específicos. Por exemplo, ao usar um handler fingers_crossed
, utilize a configuração a seguir para ignorar os logs sobre erros 403 e 404:
# config/packages/monolog.yaml
monolog:
handlers:
main:
# ...
type: 'fingers_crossed'
excluded_http_codes: [403, 404]
Para necessidades mais complexas, também é possível excluir logs apenas de determinadas URLs, definidas como padrões de expressão regular:
# config/packages/monolog.yaml
monolog:
handlers:
main:
# ...
excluded_http_codes: [{ 400: ['^/foo', '^/bar'] }, 403, 404]
Se você preferir a configuração XML, o exemplo anterior seria semelhante ao seguinte:
<!-- 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>
Tradução de: New in Symfony 4.1: Ignore specific HTTP codes from logs