@@ -327,27 +327,52 @@ def __init__(self, hostname,
327
327
if current_session () is None :
328
328
current_session (self )
329
329
330
- def add_stderr_logger (self , level = None ):
331
- """Log session requests and responses to stderr .
330
+ def add_logger (self , handler , level = None ):
331
+ """Log session requests and responses.
332
332
333
333
Parameters
334
334
----------
335
+ handler : logging.Handler
336
+ A Handler instance to use for logging the requests and responses.
335
337
level : int, optional
336
- The logging level of the handler. Defaults to logging.DEBUG
338
+ The logging level to assign to the handler. Ignored if handler's
339
+ logging level is already set. Defaults to DEBUG.
337
340
338
341
Returns
339
342
-------
340
- logging.StreamHandler
343
+ handler
344
+
345
+
346
+ .. versionadded:: 1.2.0
341
347
342
348
"""
343
349
level = level or logging .DEBUG
344
350
345
- handler = logging .StreamHandler ()
346
- handler .setLevel (level = level )
351
+ if handler .level == logging .NOTSET :
352
+ handler .setLevel (level )
353
+
347
354
self .message_log .addHandler (handler )
348
- self .message_log .setLevel (level )
355
+
356
+ if self .message_log .level == logging .NOTSET :
357
+ self .message_log .setLevel (handler .level )
358
+
349
359
return handler
350
360
361
+ def add_stderr_logger (self , level = None ):
362
+ """Log session requests and responses to stderr.
363
+
364
+ Parameters
365
+ ----------
366
+ level : int, optional
367
+ The logging level of the handler. Defaults to logging.DEBUG
368
+
369
+ Returns
370
+ -------
371
+ logging.StreamHandler
372
+
373
+ """
374
+ return self .add_logger (logging .StreamHandler (), level )
375
+
351
376
@property
352
377
def username (self ):
353
378
return self ._settings .get ('username' )
0 commit comments