summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/logging/handlers.py2
-rw-r--r--Lib/test/test_logging.py16
2 files changed, 18 insertions, 0 deletions
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index 96384bd..3a48628 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -26,6 +26,8 @@ To use, simply 'import logging.handlers' and log away!
import logging, socket, os, pickle, struct, time, re
from stat import ST_DEV, ST_INO, ST_MTIME
+import queue
+import threading
try:
import codecs
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index b62545c..6623a0f 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -41,6 +41,7 @@ import struct
import sys
import tempfile
from test.support import captured_stdout, run_with_locale, run_unittest
+from test.support import TestHandler, Matcher
import textwrap
import unittest
import warnings
@@ -2092,6 +2093,21 @@ class QueueHandlerTest(BaseTest):
self.assertEqual(data.name, self.que_logger.name)
self.assertEqual((data.msg, data.args), (msg, None))
+ def test_queue_listener(self):
+ handler = TestHandler(Matcher())
+ listener = logging.handlers.QueueListener(self.queue, handler)
+ listener.start()
+ try:
+ self.que_logger.warning(self.next_message())
+ self.que_logger.error(self.next_message())
+ self.que_logger.critical(self.next_message())
+ finally:
+ listener.stop()
+ self.assertTrue(handler.matches(levelno=logging.WARNING, message='1'))
+ self.assertTrue(handler.matches(levelno=logging.ERROR, message='2'))
+ self.assertTrue(handler.matches(levelno=logging.CRITICAL, message='3'))
+
+
class FormatterTest(unittest.TestCase):
def setUp(self):
self.common = {