Contributed by
Shaun Simmons
in #23707.
记录下尽可能多的信息是帮你在程序中除错的关键。但是,太多的日志就和太少的日志一样糟糕,因为所有的 "noise" 信息噪音都被加到日志中来。
这也是为何 Symfony 4.1 我们改进了 Monolog integration 以便允许你能排除对特定 HTTP 代码的记录。例如,在使用 fingers_crossed
handler 时,使用以下配置可以在日志中忽略关于 403
和 404
的错误:
1 2 3 4 5 6 7 | # config/packages/monolog.yaml
monolog:
handlers:
main:
# ...
type: 'fingers_crossed'
excluded_http_codes: [403, 404] |
对于复杂需求,仅排除特定的被正则表达式所定义的URL也是可能的:
1 2 3 4 5 6 | # config/packages/monolog.yaml
monolog:
handlers:
main:
# ...
excluded_http_codes: [{ 400: ['^/foo', '^/bar'] }, 403, 404] |
如果你偏爱 XML 配置格式,上面的配置会是:
1 2 3 4 5 6 7 8 9 10 11 12 | <!-- 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> |