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") |