support/package-builder/Logger.py
2820c61a
 import os
87815216
 import logging
2820c61a
 
 class Logger(object):
     @staticmethod
26b55679
     def string_to_loglevel(loglevel):
         logLevelMap = {
             "error": logging.ERROR,
             "warning": logging.WARNING,
             "info": logging.INFO,
             "debug": logging.DEBUG,
         }
         return logLevelMap.get(loglevel, logging.INFO)
 
     @staticmethod
     def getLogger(mymodule, logpath=None, loglevel="info"):
87815216
         logfile = mymodule + ".log"
2820c61a
         if logpath is not None:
             if not os.path.isdir(logpath):
                 os.makedirs(logpath)
87815216
             logfile = logpath + "/" + logfile
         logger = logging.getLogger(mymodule)
326d5ca8
         if not logger.handlers:
2820c61a
             #creating file handler
87815216
             fhandler = logging.FileHandler(logfile)
2820c61a
             # create console handler
87815216
             ch = logging.StreamHandler()
26b55679
             fhformatter = logging.Formatter('%(asctime)s - %(name)s - %(message)s')
9bc3518e
             if loglevel=="debug":
                 chformatter = logging.Formatter('%(asctime)s - %(name)s - %(message)s')
             else:
                 chformatter = logging.Formatter('%(message)s')
2820c61a
             # add formatter to handler
26b55679
             fhandler.setFormatter(fhformatter)
             #fhandler.setLevel(logging.DEBUG)
             ch.setFormatter(chformatter)
             #ch.setLevel(Logger.string_to_loglevel(loglevel))
             logger.setLevel(Logger.string_to_loglevel(loglevel))
2820c61a
             logger.addHandler(ch)
             logger.addHandler(fhandler)
26b55679
             logger.debug("-" * 75)
             logger.debug("Starting Log")
             logger.debug("-" * 75)
2820c61a
         return logger
08594edd
 
2820c61a
 if __name__ == "__main__":
     #Logger.getLogger("my module")
87815216
     t1 = Logger.getLogger("my module")
2820c61a
     t1.info("test1")
87815216
     t2 = Logger.getLogger("my module")
2820c61a
     t2.info("test2")
     t1.info("test3")