import unittest import logger class TestLogger(unittest.TestCase): def _log_handler(self, level, name, msg): self.messages.append((level, name, msg)) def setUp(self): self.messages = [] self.orig_handler = logger.set_handler(self._log_handler) def tearDown(self): logger.set_handler(self.orig_handler) def test_logger(self): log = logger.Logger("foo", logger.INFO) log.info("Hello Info") log.debug("Hello Debug") log.warn("Hello Warn") self.assertEqual(self.messages, [ (logger.INFO, 'foo', 'Hello Info'), (logger.WARN, 'foo', 'Hello Warn'), ]) del self.messages[:] log = logger.Logger("baz", logger.DEBUG) log.debug("Hello Debug") log.info("Hello Info") self.assertEqual(self.messages, [ (logger.DEBUG, 'baz', 'Hello Debug'), (logger.INFO, 'baz', 'Hello Info'), ]) if __name__ == "__main__": unittest.main()