[3.10] bpo-46755: Don't log stack info twice in QueueHandler (GH-31355) (GH-94565)

Co-authored-by: Erik Montnemery <erik@montnemery.com>
This commit is contained in:
Vinay Sajip 2022-07-05 16:04:29 +01:00 committed by GitHub
parent 5bd56a030d
commit 3287e45847
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 4 deletions

View file

@ -3598,7 +3598,7 @@ def test_queue_listener(self):
@unittest.skipUnless(hasattr(logging.handlers, 'QueueListener'),
'logging.handlers.QueueListener required for this test')
def test_queue_listener_with_StreamHandler(self):
# Test that traceback only appends once (bpo-34334).
# Test that traceback and stack-info only appends once (bpo-34334, bpo-46755).
listener = logging.handlers.QueueListener(self.queue, self.root_hdlr)
listener.start()
try:
@ -3606,8 +3606,10 @@ def test_queue_listener_with_StreamHandler(self):
except ZeroDivisionError as e:
exc = e
self.que_logger.exception(self.next_message(), exc_info=exc)
self.que_logger.error(self.next_message(), stack_info=True)
listener.stop()
self.assertEqual(self.stream.getvalue().strip().count('Traceback'), 1)
self.assertEqual(self.stream.getvalue().strip().count('Stack'), 1)
@unittest.skipUnless(hasattr(logging.handlers, 'QueueListener'),
'logging.handlers.QueueListener required for this test')