[Python-checkins] cpython: Closes #27650: Implemented repr methods for logging objects.

vinay.sajip python-checkins at python.org
Sat Aug 6 05:28:46 EDT 2016


https://hg.python.org/cpython/rev/6c304a2ca139
changeset: 102552:6c304a2ca139
user: Vinay Sajip <vinay_sajip at yahoo.co.uk>
date: Sat Aug 06 10:28:31 2016 +0100
summary:
 Closes #27650: Implemented repr methods for logging objects.
files:
 Lib/logging/__init__.py | 27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -935,6 +935,10 @@
 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 @@
 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 @@
 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 @@
 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 @@
 """
 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)
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /