| 751 | raise ValueError('Unable to add filter %r' % f) from e |
| 752 | |
| 753 | def _configure_queue_handler(self, klass, **kwargs): |
| 754 | if 'queue' in kwargs: |
| 755 | q = kwargs.pop('queue') |
| 756 | else: |
| 757 | q = queue.Queue() # unbounded |
| 758 | |
| 759 | rhl = kwargs.pop('respect_handler_level', False) |
| 760 | lklass = kwargs.pop('listener', logging.handlers.QueueListener) |
| 761 | handlers = kwargs.pop('handlers', []) |
| 762 | |
| 763 | listener = lklass(q, *handlers, respect_handler_level=rhl) |
| 764 | handler = klass(q, **kwargs) |
| 765 | handler.listener = listener |
| 766 | return handler |
| 767 | |
| 768 | def configure_handler(self, config): |
| 769 | """Configure a handler from a dictionary.""" |