Skip to content
Snippets Groups Projects
Select Git revision
  • f05c25bae29b00e1ba8de10cea2cb07e9b757993
  • main default protected
  • vac_in_initial_conditions
3 results

final_plots.py

Blame
  • _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)