Select Git revision
final_plots.py
_logger.py 1.31 KiB
import datetime
import logging
import logging.config
import sys
sys.argv[0]
class Logger(object):
def __init__(self, path, level=logging.WARNING):
self.__path = path
self.root_logger = logging.getLogger(None)
self.root_logger.setLevel(level)
if len(sys.argv[0].split("\\")) > 1:
filename = sys.argv[0].split("\\")[-1]
else:
filename = sys.argv[0].split("/")[-1]
self.file_handler = logging.handlers.RotatingFileHandler(self.__path + "{}.txt".format(filename), maxBytes=20*1024**2, backupCount=3)
self.file_handler.doRollover()
self.file_handler.setLevel(level)
self.console_handler = logging.StreamHandler()
self.console_handler.setLevel(level)
self.root_formatter = logging.Formatter('### %(levelname)-8s %(asctime)s %(name)-40s ###\n%(message)s\n')
self.file_handler.setFormatter(self.root_formatter)
self.console_handler.setFormatter(self.root_formatter)
self.root_logger.addHandler(self.file_handler)
self.root_logger.addHandler(self.console_handler)
def get(self, name=None):
return logging.getLogger(name)
def setLoggerLevel(self, level):
self.root_logger.setLevel(level)
self.console_handler.setLevel(level)
self.file_handler.setLevel(level)