-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Document new Monolog HTTP code exclusion feature #8235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
a3b6a01
c9f6ee5
17cb416
e19bca2
c8c19f2
30cc7d4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
.. index:: | ||
single: Logging | ||
single: Logging; Exclude HTTP Codes | ||
single: Monolog; Exclude HTTP Codes | ||
|
||
How to Configure Monolog to Exclude Specific HTTP Codes from the Log | ||
==================================================================== | ||
|
||
Sometimes your logs become flooded with unwanted HTTP errors, for example, | ||
403s and 404s. When using a ``fingers_crossed`` handler, you can exclude | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Quick question: is the mention of the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I based the feature off of NotFoundActivationStrategy, which is only for fingers_crossed |
||
logging these HTTP codes based on the MonologBundle configuration: | ||
|
||
.. configuration-block:: | ||
|
||
.. code-block:: yaml | ||
|
||
# config/packages/prod/monolog.yaml | ||
monolog: | ||
handlers: | ||
main: | ||
# ... | ||
type: fingers_crossed | ||
handler: ... | ||
excluded_http_codes: [403, 404, { 400: ['^/foo', '^/bar'] }] | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this should use the multi line format - one status code per line - I think it will be more clear. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure about this suggestion because I like how compact this looks ... but I don't have a strong opinion about this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't mind either way. I think multi-line might be a little clearer. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is the preferred format for multi-line arrays in YAML? A: excluded_http_codes: [
403,
404,
{ 400: ['^/foo', '^/bar'] }
] or B: excluded_http_codes:
- 403
- 404
-
400:
- ^/foo
- ^/bar There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @weaverryan don't you think the expanded format is less readable in this case? The empty space in the last element in the B) notation is confusing ... and the A) format is a bit confusing too because of the way the brackets are displayed. |
||
.. code-block:: xml | ||
|
||
<!-- config/packages/prod/monolog.xml --> | ||
<container xmlns="http://symfony.com/schema/dic/services" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xmlns:monolog="http://symfony.com/schema/dic/monolog" | ||
xsi:schemaLocation="http://symfony.com/schema/dic/services | ||
http://symfony.com/schema/dic/services/services-1.0.xsd | ||
http://symfony.com/schema/dic/monolog | ||
http://symfony.com/schema/dic/monolog/monolog-1.0.xsd"> | ||
|
||
<monolog:config> | ||
<monolog:handler type="fingers_crossed" name="main" handler="..."> | ||
<!-- ... --> | ||
<monolog:excluded-http-code code="403"> | ||
<monolog:url>^/foo</monolog:url> | ||
<monolog:url>^/bar</monolog:url> | ||
</monolog:excluded-http-code> | ||
<monolog:excluded-http-code code="404" /> | ||
</monolog:handler> | ||
</monolog:config> | ||
</container> | ||
|
||
.. code-block:: php | ||
|
||
// config/packages/prod/monolog.php | ||
$container->loadFromExtension('monolog', array( | ||
'handlers' => array( | ||
'main' => array( | ||
// ... | ||
'type' => 'fingers_crossed', | ||
'handler' => ..., | ||
'excluded_http_codes' => array(403, 404), | ||
), | ||
), | ||
)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need a versionadded here:
I'm guessing on the 3.3 part for MonologBundle, but unless something super strange happens, that should be true.