mirror of
https://github.com/python/cpython.git
synced 2025-07-12 13:55:34 +00:00
Added some methods to LoggerAdapter, and updated documentation.
This commit is contained in:
parent
ceff566886
commit
c84f016988
5 changed files with 32 additions and 9 deletions
|
@ -2599,8 +2599,8 @@ should, then :meth:`flush` is expected to do the needful.
|
|||
.. method:: flush()
|
||||
|
||||
For a :class:`MemoryHandler`, flushing means just sending the buffered
|
||||
records to the target, if there is one. Override if you want different
|
||||
behavior.
|
||||
records to the target, if there is one. The buffer is also cleared when
|
||||
this happens. Override if you want different behavior.
|
||||
|
||||
|
||||
.. method:: setTarget(target)
|
||||
|
@ -2972,15 +2972,18 @@ __ context-info_
|
|||
'extra'. The return value is a (*msg*, *kwargs*) tuple which has the
|
||||
(possibly modified) versions of the arguments passed in.
|
||||
|
||||
In addition to the above, :class:`LoggerAdapter` supports all the logging
|
||||
In addition to the above, :class:`LoggerAdapter` supports the following
|
||||
methods of :class:`Logger`, i.e. :meth:`debug`, :meth:`info`, :meth:`warning`,
|
||||
:meth:`error`, :meth:`exception`, :meth:`critical` and :meth:`log`. These
|
||||
methods have the same signatures as their counterparts in :class:`Logger`, so
|
||||
you can use the two types of instances interchangeably.
|
||||
:meth:`error`, :meth:`exception`, :meth:`critical`, :meth:`log`,
|
||||
:meth:`isEnabledFor`, :meth:`getEffectiveLevel`, :meth:`setLevel`,
|
||||
:meth:`hasHandlers`. These methods have the same signatures as their
|
||||
counterparts in :class:`Logger`, so you can use the two types of instances
|
||||
interchangeably.
|
||||
|
||||
.. versionchanged:: 3.2
|
||||
The :meth:`isEnabledFor` method was added to :class:`LoggerAdapter`. This
|
||||
method delegates to the underlying logger.
|
||||
The :meth:`isEnabledFor`, :meth:`getEffectiveLevel`, :meth:`setLevel` and
|
||||
:meth:`hasHandlers` methods were added to :class:`LoggerAdapter`. These
|
||||
methods delegate to the underlying logger.
|
||||
|
||||
|
||||
Thread Safety
|
||||
|
|
|
@ -1400,6 +1400,8 @@ class LoggerAdapter(object):
|
|||
msg, kwargs = self.process(msg, kwargs)
|
||||
self.logger.warning(msg, *args, **kwargs)
|
||||
|
||||
warn = warning
|
||||
|
||||
def error(self, msg, *args, **kwargs):
|
||||
"""
|
||||
Delegate an error call to the underlying logger, after adding
|
||||
|
@ -1433,12 +1435,24 @@ class LoggerAdapter(object):
|
|||
msg, kwargs = self.process(msg, kwargs)
|
||||
self.logger.log(level, msg, *args, **kwargs)
|
||||
|
||||
def setLevel(self, level):
|
||||
"""
|
||||
Set the specified level on the underlying logger.
|
||||
"""
|
||||
self.logger.setLevel(level)
|
||||
|
||||
def isEnabledFor(self, level):
|
||||
"""
|
||||
See if the underlying logger is enabled for the specified level.
|
||||
"""
|
||||
return self.logger.isEnabledFor(level)
|
||||
|
||||
def getEffectiveLevel(self):
|
||||
"""
|
||||
Get the effective level for the underlying logger.
|
||||
"""
|
||||
return self.logger.getEffectiveLevel()
|
||||
|
||||
def hasHandlers(self):
|
||||
"""
|
||||
See if the underlying logger has any handlers.
|
||||
|
|
|
@ -1131,6 +1131,8 @@ class MemoryHandler(BufferingHandler):
|
|||
For a MemoryHandler, flushing means just sending the buffered
|
||||
records to the target, if there is one. Override if you want
|
||||
different behaviour.
|
||||
|
||||
The record buffer is also cleared by this operation.
|
||||
"""
|
||||
if self.target:
|
||||
for record in self.buffer:
|
||||
|
|
|
@ -154,7 +154,7 @@ class BuiltinLevelsTest(BaseTest):
|
|||
|
||||
ERR = logging.getLogger("ERR")
|
||||
ERR.setLevel(logging.ERROR)
|
||||
INF = logging.getLogger("INF")
|
||||
INF = logging.LoggerAdapter(logging.getLogger("INF"), {})
|
||||
INF.setLevel(logging.INFO)
|
||||
DEB = logging.getLogger("DEB")
|
||||
DEB.setLevel(logging.DEBUG)
|
||||
|
|
|
@ -58,6 +58,10 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- logging: hasHandlers method was added to Logger, and isEnabledFor,
|
||||
getEffectiveLevel, hasHandlers and setLevel were added to LoggerAdapter.
|
||||
LoggerAdapter was introduced into the unit tests for logging.
|
||||
|
||||
- Issue #1686: Fix string.Template when overriding the pattern attribute.
|
||||
|
||||
- Issue #9854: SocketIO objects now observe the RawIOBase interface in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue