def sortlog(self,logfile,logger,name="eoldas",logdir=None,debug=True ): ''' A safe interface to logging for passing log information between lots of classes ''' import logging import time from eoldas_Lib import set_up_logfile,dummyprint if type(self).__name__ == 'SpecialVariable' and logger != None: return logger try: if 'logger' in self.dict(): return self.logger except: pass try: if 'logger' in self.keys(): return self.logger except: pass try: if type(self).__name__ != 'SpecialVariable': this = self.logger return self.logger except: pass if logdir == None: logdir = '.' if name == None: name = type(self).__name__ + '.' + str(time.time()) if logger: if type(self).__name__ == 'SpecialVariable': return logger logger.info('Setting up logger for %s'%name) logger = logging.getLogger(name) logger.info('Set up') return logger if logfile == None or name == None: logger = ParamStorage() logger.info = lambda x:dummyprint( "Info: %s"%x) logger.debug = lambda x:dummyprint( "Debug: %s"%x) logger.error = lambda x:dummyprint( "Error: %s"%x) return logger logger = set_up_logfile(logfile,name=name,logdir=logdir,debug=debug) return logger