import time class Debugging: def __init__(self, state): self.state = state def getDebugState(self): return self.state def setDebugState(self, state): self.state = state class Logging: def __init__(self, state, directory): self.state = state self.directory = directory def setState(self, state): self.state = state def setDirectory(self, directory): self.directory = directory def outputFile(self, message): pass class Output: def __init__(self, d_state, l_state, l_directory="./Output.log"): self.debug = Debugging(d_state) self.log = Logging(l_state, l_directory) def infoReport(self, message, console=True): if console: print("[INFO] " + message) if self.log.state: self.log.outputFile("[INFO] " + message) def warningReport(self, message, console=True): if console: print("[WARNING] " + message) if self.log.state: self.log.outputFile("[WARNING] " + message) def debugReport(self, message, console=True): if console and self.debug.getDebugState(): print("[DEBUG] " + message) if self.log.state: self.log.outputFile("[DEBUG] " + message) def errorReport(self, message, console=True, quit=False): if console: print("[ERROR] " + message) if self.log.state: self.log.outputFile("[ERROR] " + message) if quit: time.sleep(10) quit()