mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
Closes #27650: Implemented repr methods for logging objects.
This commit is contained in:
parent
933c66af56
commit
c075201147
1 changed files with 27 additions and 0 deletions
|
@ -935,6 +935,10 @@ class Handler(Filterer):
|
|||
finally:
|
||||
del t, v, tb
|
||||
|
||||
def __repr__(self):
|
||||
level = getLevelName(self.level)
|
||||
return '<%s (%s)>' % (self.__class__.__name__, level)
|
||||
|
||||
class StreamHandler(Handler):
|
||||
"""
|
||||
A handler class which writes logging records, appropriately formatted,
|
||||
|
@ -986,6 +990,14 @@ class StreamHandler(Handler):
|
|||
except Exception:
|
||||
self.handleError(record)
|
||||
|
||||
def __repr__(self):
|
||||
level = getLevelName(self.level)
|
||||
name = getattr(self.stream, 'name', '')
|
||||
if name:
|
||||
name += ' '
|
||||
return '<%s %s(%s)>' % (self.__class__.__name__, name, level)
|
||||
|
||||
|
||||
class FileHandler(StreamHandler):
|
||||
"""
|
||||
A handler class which writes formatted logging records to disk files.
|
||||
|
@ -1050,6 +1062,11 @@ class FileHandler(StreamHandler):
|
|||
self.stream = self._open()
|
||||
StreamHandler.emit(self, record)
|
||||
|
||||
def __repr__(self):
|
||||
level = getLevelName(self.level)
|
||||
return '<%s %s (%s)>' % (self.__class__.__name__, self.baseFilename, level)
|
||||
|
||||
|
||||
class _StderrHandler(StreamHandler):
|
||||
"""
|
||||
This class is like a StreamHandler using sys.stderr, but always uses
|
||||
|
@ -1542,6 +1559,11 @@ class Logger(Filterer):
|
|||
suffix = '.'.join((self.name, suffix))
|
||||
return self.manager.getLogger(suffix)
|
||||
|
||||
def __repr__(self):
|
||||
level = getLevelName(self.getEffectiveLevel())
|
||||
return '<%s %s (%s)>' % (self.__class__.__name__, self.name, level)
|
||||
|
||||
|
||||
class RootLogger(Logger):
|
||||
"""
|
||||
A root logger is not that different to any other logger, except that
|
||||
|
@ -1668,6 +1690,11 @@ class LoggerAdapter(object):
|
|||
"""
|
||||
return self.logger.hasHandlers()
|
||||
|
||||
def __repr__(self):
|
||||
logger = self.logger
|
||||
level = getLevelName(logger.getEffectiveLevel())
|
||||
return '<%s %s (%s)>' % (self.__class__.__name__, logger.name, level)
|
||||
|
||||
root = RootLogger(WARNING)
|
||||
Logger.root = root
|
||||
Logger.manager = Manager(Logger.root)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue