summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_logging.py
diff options
context:
space:
mode:
authorfavll <favll@users.noreply.github.com>2017-08-01 18:12:26 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2017-08-01 18:12:26 (GMT)
commitadfe3440f65dfd6cf4463db6cd02cdc78e77ce17 (patch)
tree0387a80a252654820ebd92e1833023008092cce0 /Lib/test/test_logging.py
parent6f446bee4f6ac0c61bb2c3386a0149fd36855793 (diff)
downloadcpython-adfe3440f65dfd6cf4463db6cd02cdc78e77ce17.zip
cpython-adfe3440f65dfd6cf4463db6cd02cdc78e77ce17.tar.gz
cpython-adfe3440f65dfd6cf4463db6cd02cdc78e77ce17.tar.bz2
bpo-31084: QueueHandler now formats messages correctly. (GH-2954)
Diffstat (limited to 'Lib/test/test_logging.py')
-rw-r--r--Lib/test/test_logging.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 6d0b234..36ea072 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -3126,6 +3126,7 @@ class QueueHandlerTest(BaseTest):
BaseTest.setUp(self)
self.queue = queue.Queue(-1)
self.que_hdlr = logging.handlers.QueueHandler(self.queue)
+ self.name = 'que'
self.que_logger = logging.getLogger('que')
self.que_logger.propagate = False
self.que_logger.setLevel(logging.WARNING)
@@ -3147,6 +3148,19 @@ class QueueHandlerTest(BaseTest):
self.assertEqual(data.name, self.que_logger.name)
self.assertEqual((data.msg, data.args), (msg, None))
+ def test_formatting(self):
+ msg = self.next_message()
+ levelname = logging.getLevelName(logging.WARNING)
+ log_format_str = '{name} -> {levelname}: {message}'
+ formatted_msg = log_format_str.format(name=self.name,
+ levelname=levelname, message=msg)
+ formatter = logging.Formatter(self.log_format)
+ self.que_hdlr.setFormatter(formatter)
+ self.que_logger.warning(msg)
+ log_record = self.queue.get_nowait()
+ self.assertEqual(formatted_msg, log_record.msg)
+ self.assertEqual(formatted_msg, log_record.message)
+
@unittest.skipUnless(hasattr(logging.handlers, 'QueueListener'),
'logging.handlers.QueueListener required for this test')
def test_queue_listener(self):