Skip to content

Commit 3748d1a

Browse files
committed
Tweak handler handling
1 parent 6367012 commit 3748d1a

File tree

1 file changed

+22
-5
lines changed

1 file changed

+22
-5
lines changed

logging.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,28 +113,45 @@ def emit(self, level, msg):
113113
logger_cache = dict()
114114

115115
def getLogger(name):
116+
"""Create or retrieve a logger by name.
117+
118+
:param name: the name of the logger to create/retrieve
119+
120+
"""
116121
if name not in logger_cache:
117122
logger_cache[name] = Logger()
118123
return logger_cache[name]
119124

120125
class Logger(object):
121126
"""Provide a logging api."""
122127

123-
def __init__(self, handler=None):
128+
def __init__(self):
124129
"""Create an instance.
125130
126131
:param handler: what to use to output messages. Defaults to a PrintHandler.
127132
128133
"""
129134
self._level = NOTSET
130-
if handler is None:
131-
self._handler = PrintHandler()
132-
else:
133-
self._handler = handler
135+
self._handler = PrintHandler()
134136

135137
def setLevel(self, value):
138+
"""Set the logging cuttoff level.
139+
140+
:param value: the lowest level to output
141+
142+
"""
136143
self._level = value
137144

145+
def addHandler(self, hldr):
146+
"""Sets the handler of this logger to the specified handler.
147+
*NOTE* this is slightly different from the CPython equivalent which adds
148+
the handler rather than replaceing it.
149+
150+
:param hldr: the handler
151+
152+
"""
153+
self._handler = hldr
154+
138155
def log(self, level, format_string, *args):
139156
"""Log a message.
140157

0 commit comments

Comments
 (0)