import inspect import logging def _logger(level: int = logging.DEBUG) -> logging.Logger: # Gets the name of the class / method from where this method is called name = inspect.stack()[1][3] logger = logging.getLogger(name) logger.setLevel(logging.DEBUG) handler = logging.FileHandler('automation.log', mode='a') handler.setLevel(level) formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s: %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p', ) handler.setFormatter(formatter) logger.addHandler(handler) return logger log: logging.Logger = _logger()