import inspect import logging def Logger(level=logging.DEBUG): # Gets the name of the class / method from where this method is called name = inspect.stack()[1][3] logger = logging.getLogger(name) # By default, log all messages 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