Esempio n. 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)
Esempio n. 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)
Esempio n. 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])
Esempio n. 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])
Esempio n. 5
0
class log:
    from gruvi.logging import get_logger
    logger = get_logger()

    @classmethod
    def msg(cls, m):
        cls.logger.warning(m)
Esempio n. 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))
Esempio n. 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])
Esempio n. 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)
Esempio n. 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)
Esempio n. 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]))
Esempio n. 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)
Esempio n. 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)
Esempio n. 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)
Esempio n. 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]))
Esempio n. 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)
Esempio n. 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)
Esempio n. 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)
Esempio n. 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])
Esempio n. 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])
Esempio n. 20
0
 def mem_logger(self):
     self.add_result(sizeof(get_logger(), exclude=('logger', )))
Esempio n. 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)
Esempio n. 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)
Esempio n. 23
0
 def mem_logger(self):
     self.add_result(sizeof(get_logger(), exclude=('logger',)))