Пример #1
0
 def test_get_logger_context(self):
     # Ensure that a different logger is returned for different contexts.
     l1 = get_logger(name='gruvi_test')
     l2 = get_logger(context='foo', name='gruvi_test')
     self.assertIsNot(l1, l2)
     l3 = get_logger(context='bar', name='gruvi_test')
     self.assertIsNot(l2, l3)
Пример #2
0
 def test_get_logger_context(self):
     # Ensure that a different logger is returned for different contexts.
     l1 = get_logger(name='gruvi_test')
     l2 = get_logger(context='foo', name='gruvi_test')
     self.assertIsNot(l1, l2)
     l3 = get_logger(context='bar', name='gruvi_test')
     self.assertIsNot(l2, l3)
Пример #3
0
 def test_context(self):
     # Ensure that a logging context is added.
     self.logger.setLevel(logging.DEBUG)
     logger = get_logger('fooctx', name='gruvi_test')
     logger.debug('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('fooctx', messages[0])
     self.assertIn('foo bar', messages[0])
     logger = get_logger('barctx', name='gruvi_test')
     logger.debug('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertNotIn('fooctx', messages[0])
     self.assertIn('barctx', messages[0])
     self.assertIn('foo bar', messages[0])
Пример #4
0
 def test_context(self):
     # Ensure that a logging context is added.
     self.logger.setLevel(logging.DEBUG)
     logger = get_logger('fooctx', name='gruvi_test')
     logger.debug('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('fooctx', messages[0])
     self.assertIn('foo bar', messages[0])
     logger = get_logger('barctx', name='gruvi_test')
     logger.debug('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertNotIn('fooctx', messages[0])
     self.assertIn('barctx', messages[0])
     self.assertIn('foo bar', messages[0])
Пример #5
0
class log:
    from gruvi.logging import get_logger
    logger = get_logger()

    @classmethod
    def msg(cls, m):
        cls.logger.warning(m)
Пример #6
0
 def __init__(self, _loop=None):
     if self.current().parent is not None:
         raise RuntimeError('Hub must be created in the root fiber')
     super(Hub, self).__init__(target=self.run)
     self._loop = _loop or pyuv.Loop.default_loop()
     self._atomic = collections.deque()
     self._callbacks = collections.deque()
     from gruvi import logging, util
     self._log = logging.get_logger(util.objref(self))
Пример #7
0
 def test_fiber_context(self):
     # Ensure that both a logging context and a fiber context are added.
     self.logger.setLevel(logging.DEBUG)
     gruvi.current_fiber().context = 'fibctx'
     logger = get_logger('logctx', name='gruvi_test')
     logger.debug('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('fibctx', messages[0])
     self.assertIn('logctx', messages[0])
     self.assertIn('foo bar', messages[0])
     logger = get_logger(name='gruvi_test')
     logger.debug('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('fibctx', messages[0])
     self.assertNotIn('logctx', messages[0])
     self.assertIn('foo bar', messages[0])
Пример #8
0
 def test_warning(self):
     # Ensure that WARNING level output works if the level is set accordingly
     self.logger.setLevel(logging.WARNING)
     logger = get_logger(name='gruvi_test')
     logger.warning('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('WARNING', messages[0])
     self.assertIn('foo bar', messages[0])
     self.logger.setLevel(100)
     logger.warning('foo baz')
     messages = self.get_messages()
     self.assertEqual(len(messages), 0)
Пример #9
0
 def test_info(self):
     # Ensure that INFO level output works if the level is set accordingly
     self.logger.setLevel(logging.INFO)
     logger = get_logger(name='gruvi_test')
     logger.info('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('INFO', messages[0])
     self.assertIn('foo bar', messages[0])
     self.logger.setLevel(100)
     logger.info('foo baz')
     messages = self.get_messages()
     self.assertEqual(len(messages), 0)
Пример #10
0
 def test_debug_frame_info(self):
     # Ensure that frame info is appended when the level is DEBUG
     self.logger.setLevel(logging.DEBUG)
     logger = get_logger(name='gruvi_test')
     logger.info('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertTrue(self.re_frame.search(messages[0]))
     self.logger.setLevel(logging.INFO)
     logger.info('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertFalse(self.re_frame.search(messages[0]))
Пример #11
0
 def test_critical(self):
     # Ensure that CRITCAL level output works if the level is set accordingly
     self.logger.setLevel(logging.CRITICAL)
     logger = get_logger(name='gruvi_test')
     logger.critical('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('CRITICAL', messages[0])
     self.assertIn('foo bar', messages[0])
     self.logger.setLevel(100)
     logger.critical('foo baz')
     messages = self.get_messages()
     self.assertEqual(len(messages), 0)
Пример #12
0
 def test_error(self):
     # Ensure that ERROR level output works if the level is set accordingly
     self.logger.setLevel(logging.ERROR)
     logger = get_logger(name='gruvi_test')
     logger.error('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('ERROR', messages[0])
     self.assertIn('foo bar', messages[0])
     self.logger.setLevel(100)
     logger.error('foo baz')
     messages = self.get_messages()
     self.assertEqual(len(messages), 0)
Пример #13
0
 def test_warning(self):
     # Ensure that WARNING level output works if the level is set accordingly
     self.logger.setLevel(logging.WARNING)
     logger = get_logger(name='gruvi_test')
     logger.warning('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('WARNING', messages[0])
     self.assertIn('foo bar', messages[0])
     self.logger.setLevel(100)
     logger.warning('foo baz')
     messages = self.get_messages()
     self.assertEqual(len(messages), 0)
Пример #14
0
 def test_debug_frame_info(self):
     # Ensure that frame info is appended when the level is DEBUG
     self.logger.setLevel(logging.DEBUG)
     logger = get_logger(name='gruvi_test')
     logger.info('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertTrue(self.re_frame.search(messages[0]))
     self.logger.setLevel(logging.INFO)
     logger.info('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertFalse(self.re_frame.search(messages[0]))
Пример #15
0
 def test_info(self):
     # Ensure that INFO level output works if the level is set accordingly
     self.logger.setLevel(logging.INFO)
     logger = get_logger(name='gruvi_test')
     logger.info('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('INFO', messages[0])
     self.assertIn('foo bar', messages[0])
     self.logger.setLevel(100)
     logger.info('foo baz')
     messages = self.get_messages()
     self.assertEqual(len(messages), 0)
Пример #16
0
 def test_critical(self):
     # Ensure that CRITCAL level output works if the level is set accordingly
     self.logger.setLevel(logging.CRITICAL)
     logger = get_logger(name='gruvi_test')
     logger.critical('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('CRITICAL', messages[0])
     self.assertIn('foo bar', messages[0])
     self.logger.setLevel(100)
     logger.critical('foo baz')
     messages = self.get_messages()
     self.assertEqual(len(messages), 0)
Пример #17
0
 def test_error(self):
     # Ensure that ERROR level output works if the level is set accordingly
     self.logger.setLevel(logging.ERROR)
     logger = get_logger(name='gruvi_test')
     logger.error('foo bar')
     messages = self.get_messages()
     self.assertEqual(len(messages), 1)
     self.assertIn('ERROR', messages[0])
     self.assertIn('foo bar', messages[0])
     self.logger.setLevel(100)
     logger.error('foo baz')
     messages = self.get_messages()
     self.assertEqual(len(messages), 0)
Пример #18
0
 def test_exception(self):
     # Ensure that a logged exception includes a backtrace
     self.logger.setLevel(logging.ERROR)
     logger = get_logger(name='gruvi_test')
     try:
         raise ValueError('foo bar')
     except ValueError:
         logger.exception('baz qux')
     messages = self.get_messages()
     self.assertGreater(len(messages), 2)
     self.assertIn('ERROR', messages[0])
     self.assertIn('baz qux', messages[0])
     self.assertIn('Traceback', messages[1])
     self.assertIn('foo bar', messages[-1])
Пример #19
0
 def test_exception(self):
     # Ensure that a logged exception includes a backtrace
     self.logger.setLevel(logging.ERROR)
     logger = get_logger(name='gruvi_test')
     try:
         raise ValueError('foo bar')
     except ValueError:
         logger.exception('baz qux')
     messages = self.get_messages()
     self.assertGreater(len(messages), 2)
     self.assertIn('ERROR', messages[0])
     self.assertIn('baz qux', messages[0])
     self.assertIn('Traceback', messages[1])
     self.assertIn('foo bar', messages[-1])
Пример #20
0
 def mem_logger(self):
     self.add_result(sizeof(get_logger(), exclude=('logger', )))
Пример #21
0
 def test_get_logger(self):
     # Ensure that get_logger() returns the correct logger.
     logger = get_logger(name='gruvi_test')
     self.assertIs(logger._logger, self.logger)
     logger = get_logger()
     self.assertIsNot(logger._logger, self.logger)
Пример #22
0
 def test_get_logger(self):
     # Ensure that get_logger() returns the correct logger.
     logger = get_logger(name='gruvi_test')
     self.assertIs(logger._logger, self.logger)
     logger = get_logger()
     self.assertIsNot(logger._logger, self.logger)
Пример #23
0
 def mem_logger(self):
     self.add_result(sizeof(get_logger(), exclude=('logger',)))