def test_fancylogger_as_rootlogger_logging(self): """ Test if just using import logging, logging with logging uses fancylogger after setting the root logger """ # test logging.root is loggin root logger # this is an assumption made to make the fancyrootlogger code work orig_root = logging.getLogger() self.assertEqual(logging.root, orig_root, msg='logging.root is the root logger') self.assertFalse(isinstance(logging.root, fancylogger.FancyLogger), msg='logging.root is not a FancyLogger') stringfile = StringIO() sys.stderr = stringfile handler = fancylogger.logToScreen() fancylogger.setLogLevelDebug() logger = fancylogger.getLogger() self.assertEqual(logger.handlers, [self.handler, handler], msg='active handler for root fancylogger') self.assertEqual(logger.level, fancylogger.getLevelInt('DEBUG'), msg='debug level set') msg = 'this is my string' logging.debug(msg) self.assertEqual(stringfile.getvalue(), '', msg="logging.debug reports nothing when fancylogger loglevel is debug") fancylogger.setroot() self.assertTrue(isinstance(logging.root, fancylogger.FancyLogger), msg='logging.root is a FancyLogger after setRootLogger') self.assertEqual(logging.root.level, fancylogger.getLevelInt('DEBUG'), msg='debug level set for root') self.assertEqual(logger.level, logging.NOTSET, msg='original root fancylogger level set to NOTSET') self.assertEqual(logging.root.handlers, [self.handler, handler], msg='active handler for root logger from previous root fancylogger') self.assertEqual(logger.handlers, [], msg='no active handlers on previous root fancylogger') root_logger = logging.getLogger('') self.assertEqual(root_logger, logging.root, msg='logging.getLogger() returns logging.root FancyLogger') frl = fancylogger.getLogger() self.assertEqual(frl, logging.root, msg='fancylogger.getLogger() returns logging.root FancyLogger') logging.debug(msg) self.assertTrue(msg in stringfile.getvalue(), msg="logging.debug reports when fancylogger loglevel is debug") fancylogger.resetroot() self.assertEqual(logging.root, orig_root, msg='logging.root is the original root logger after resetroot') # restore fancylogger.logToScreen(enable=False, handler=handler)
@author: Jens Timmerman (Ghent University) @author: Stijn De Weirdt (Ghent University) """ import os import logging import pwd import sys from vsc.jobs.pbs.clusterdata import get_clusterdata, get_cluster_mpp, get_cluster_overhead, MASTER_REGEXP from vsc.jobs.pbs.submitfilter import SubmitFilter, get_warnings, warn, PMEM, VMEM from vsc.jobs.pbs.submitfilter import MEM from vsc.utils import fancylogger fancylogger.setroot() fancylogger.logToScreen(enable=False) fancylogger.logToDevLog(True) fancylogger.setLogLevelInfo() ENV_NODE_PARTITION = 'VSC_NODE_PARTITION' ENV_RESERVATION = 'VSC_RESERVATION' def make_new_header(sf): """ Generate a new header by rewriting selected options and adding missing ones. Takes a submitfilter instance as only argument, returns the header as a list of strings (one line per element) """ state, newopts = sf.gather_state(MASTER_REGEXP)