mirror of
https://github.com/python/cpython.git
synced 2025-07-29 06:05:00 +00:00
Closes #26559: Allow configuring flush-on-close behaviour of MemoryHandler.
This commit is contained in:
parent
d141531eb5
commit
cccf6068fa
3 changed files with 54 additions and 8 deletions
|
@ -958,7 +958,7 @@ class MemoryHandlerTest(BaseTest):
|
|||
def setUp(self):
|
||||
BaseTest.setUp(self)
|
||||
self.mem_hdlr = logging.handlers.MemoryHandler(10, logging.WARNING,
|
||||
self.root_hdlr)
|
||||
self.root_hdlr)
|
||||
self.mem_logger = logging.getLogger('mem')
|
||||
self.mem_logger.propagate = 0
|
||||
self.mem_logger.addHandler(self.mem_hdlr)
|
||||
|
@ -995,6 +995,36 @@ class MemoryHandlerTest(BaseTest):
|
|||
self.mem_logger.debug(self.next_message())
|
||||
self.assert_log_lines(lines)
|
||||
|
||||
def test_flush_on_close(self):
|
||||
"""
|
||||
Test that the flush-on-close configuration works as expected.
|
||||
"""
|
||||
self.mem_logger.debug(self.next_message())
|
||||
self.assert_log_lines([])
|
||||
self.mem_logger.info(self.next_message())
|
||||
self.assert_log_lines([])
|
||||
self.mem_logger.removeHandler(self.mem_hdlr)
|
||||
# Default behaviour is to flush on close. Check that it happens.
|
||||
self.mem_hdlr.close()
|
||||
lines = [
|
||||
('DEBUG', '1'),
|
||||
('INFO', '2'),
|
||||
]
|
||||
self.assert_log_lines(lines)
|
||||
# Now configure for flushing not to be done on close.
|
||||
self.mem_hdlr = logging.handlers.MemoryHandler(10, logging.WARNING,
|
||||
self.root_hdlr,
|
||||
False)
|
||||
self.mem_logger.addHandler(self.mem_hdlr)
|
||||
self.mem_logger.debug(self.next_message())
|
||||
self.assert_log_lines(lines) # no change
|
||||
self.mem_logger.info(self.next_message())
|
||||
self.assert_log_lines(lines) # no change
|
||||
self.mem_logger.removeHandler(self.mem_hdlr)
|
||||
self.mem_hdlr.close()
|
||||
# assert that no new lines have been added
|
||||
self.assert_log_lines(lines) # no change
|
||||
|
||||
|
||||
class ExceptionFormatter(logging.Formatter):
|
||||
"""A special exception formatter."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue