diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2010-09-17 12:45:26 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2010-09-17 12:45:26 (GMT) |
commit | fb7b505d9f14b0c1144f7b8d004dc7b5a1552024 (patch) | |
tree | c08846344f9ce619d078c2760e7d6157f0026da1 /Doc | |
parent | 89e1ae22a4bde06688783b1056623fe6f071b94c (diff) | |
download | cpython-fb7b505d9f14b0c1144f7b8d004dc7b5a1552024.zip cpython-fb7b505d9f14b0c1144f7b8d004dc7b5a1552024.tar.gz cpython-fb7b505d9f14b0c1144f7b8d004dc7b5a1552024.tar.bz2 |
Improved Filter documentation.
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/logging.rst | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst index ee1bc84..3427624 100644 --- a/Doc/library/logging.rst +++ b/Doc/library/logging.rst @@ -1479,6 +1479,8 @@ When this script is run, the output should look something like this:: The :class:`LoggerAdapter` class was not present in previous versions. +.. _filters-contextual: + Using Filters to impart contextual information ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2657,7 +2659,7 @@ Currently, the useful mapping keys in a :class:`LogRecord` are: Filter Objects -------------- -Filters can be used by :class:`Handler`\ s and :class:`Logger`\ s for +:class:`Filter`\ s can be used by :class:`Handler`\ s and :class:`Logger`\ s for more sophisticated filtering than is provided by levels. The base filter class only allows events which are below a certain point in the logger hierarchy. For example, a filter initialized with "A.B" will allow events logged by loggers @@ -2685,6 +2687,18 @@ etc.) This means that events which have been generated by descendant loggers will not be filtered by a logger's filter setting, unless the filter has also been applied to those descendant loggers. +Other uses for filters +^^^^^^^^^^^^^^^^^^^^^^ + +Although filters are used primarily to filter records based on more +sophisticated criteria than levels, they get to see every record which is +processed by the handler or logger they're attached to: this can be useful if +you want to do things like counting how many records were processed by a +particular logger or handler, or adding, changing or removing attributes in +the LogRecord being processed. Obviously changing the LogRecord needs to be +done with some care, but it does allow the injection of contextual information +into logs (see :ref:`filters-contextual`). + .. _log-record: LogRecord Objects |