Ejemplo n.º 1
0
def log2str(levels = 'normal', theme = True, logfile = None, lvldiff = None):
	new_out, new_err = StringIO(), StringIO()
	old_out, old_err = sys.stdout, sys.stderr
	try:
		sys.stdout, sys.stderr = new_out, new_err
		#yield sys.stdout.getvalue(), sys.stderr.getvalue()
		logger.getLogger(levels = levels, theme = theme, logfile = logfile, lvldiff = lvldiff)
		yield sys.stdout, sys.stderr
	finally:
		sys.stdout, sys.stderr = old_out, old_err
Ejemplo n.º 2
0
 def testExtra(self, msg, extra, outs):
     #PyPPLLogFilter._clearDebug()
     log = logger.getLogger('all', None, lvldiff='DEBUG')
     with helpers.log2str('all', None, lvldiff='DEBUG') as (out, err):
         log.info(msg, extra=extra)
     for out in outs:
         self.assertIn(out, err.getvalue())
Ejemplo n.º 3
0
 def testGetLogger(self,
                   levels,
                   theme,
                   logfile,
                   lvldiff,
                   msg,
                   outs,
                   fileouts=None):
     log2 = logger.getLogger()
     log = logger.getLogger(levels, theme, logfile, lvldiff)
     self.assertIs(log, log2)
     self.assertIsInstance(log, logging.Logger)
     self.assertEqual(len(log.handlers), int(bool(logfile)) + 1)
     with helpers.log2str(levels, theme, logfile, lvldiff) as (out, err):
         log.info(msg)
     self.assertEqual(err.getvalue().strip()[21:], outs)
     if logfile:
         self.assertIn(fileouts, helpers.readFile(logfile))
Ejemplo n.º 4
0
 def testMulti2(self):
     #PyPPLLogFilter._clearDebug()
     log = logger.getLogger('all', None, lvldiff='DEBUG')
     with helpers.log2str('all', None, lvldiff='DEBUG') as (out, err):
         log.info('ABC',
                  extra={
                      'pbar': False,
                      'proc': 'p',
                      'jobidx': 1,
                      'joblen': 2
                  })
         log.info('EFG', extra={'pbar': 'next', 'jobidx': 1, 'joblen': 2})
     self.assertIn('INFO] p: [2/2] ABC', err.getvalue())
     self.assertIn('EFG\n', err.getvalue())
Ejemplo n.º 5
0
 def testMulti(self):
     #PyPPLLogFilter._clearDebug()
     log = logger.getLogger('all', None, lvldiff='DEBUG')
     with helpers.log2str('all', None, lvldiff='DEBUG') as (out, err):
         log.info('ABC',
                  extra={
                      'level2': 'EXPECT_CHECKING',
                      'jobidx': 1,
                      'joblen': 2
                  })
         log.info('EFG',
                  extra={
                      'level2': 'EXPECT_CHECKING',
                      'jobidx': 1,
                      'joblen': 2
                  })
     self.assertIn('...... max=1 (EXPECT_CHECKING) reached', err.getvalue())
     self.assertIn('INFO] [2/2] ABC', err.getvalue())
     self.assertNotIn('EFG', err.getvalue())
Ejemplo n.º 6
0
def log2sys(levels='normal', theme=True, logfile=None, lvldiff=None):
    logger.getLogger(levels=levels,
                     theme=theme,
                     logfile=logfile,
                     lvldiff=lvldiff)