import os import logging class Logger(object): @staticmethod def getLogger(mymodule, logpath=None, resetFile=False): logfile = mymodule + ".log" if logpath is not None: if not os.path.isdir(logpath): os.makedirs(logpath) logfile = logpath + "/" + logfile if resetFile: open(logfile, 'w').close() logger = logging.getLogger(mymodule) if not logger.handlers: #creating file handler fhandler = logging.FileHandler(logfile) # create console handler ch = logging.StreamHandler() formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # add formatter to handler fhandler.setFormatter(formatter) ch.setFormatter(formatter) logger.addHandler(ch) logger.addHandler(fhandler) logger.setLevel(logging.DEBUG) logger.info("-" * 75) logger.info("Starting Log") logger.info("-" * 75) return logger if __name__ == "__main__": #Logger.getLogger("my module") t1 = Logger.getLogger("my module") t1.info("test1") t2 = Logger.getLogger("my module") t2.info("test2") t1.info("test3")