sys.stderr = sys.__stderr__ #adds a stream catcher for display and a memory handler for saving log_stream = StreamCatch() logger = getLogger() display_handler = StreamHandler(stream=log_stream) display_handler.setLevel(LOGLEVEL) display_handler.setFormatter(Formatter(LOGFORMATTER)) display_handler.name = "StreamCatch" logger.addHandler(display_handler) memory_handler = MemoryHandler(MEMBUFFER) memory_handler.setLevel(LOGLEVEL) memory_handler.setFormatter(Formatter(LOGFORMATTER)) memory_handler.name = "MemoryLog" logger.addHandler(memory_handler) log_info("Started logging") def make_log_file(log_path, mode='a'): """Points memory handler at a particular file to save the log.""" file_handler = FileHandler(filename=log_path, mode=mode) file_handler.setLevel(LOGLEVEL) file_handler.setFormatter(Formatter(LOGFORMATTER)) memory_handler.setTarget(file_handler) def remove_log_file(): """closes the log file and removes memory_handler from pointing at it"""
sys.stdout=sys.__stdout__ #old_stdout sys.stderr=sys.__stderr__ #adds a stream catcher for display and a memory handler for saving log_stream=StreamCatch() logger=getLogger() display_handler=StreamHandler(stream=log_stream) display_handler.setLevel(LOGLEVEL) display_handler.setFormatter(Formatter(LOGFORMATTER)) display_handler.name="StreamCatch" logger.addHandler(display_handler) memory_handler=MemoryHandler(MEMBUFFER) memory_handler.setLevel(LOGLEVEL) memory_handler.setFormatter(Formatter(LOGFORMATTER)) memory_handler.name="MemoryLog" logger.addHandler(memory_handler) log_debug("Started logging") def make_log_file(log_path, mode='a'): """Points memory handler at a particular file to save the log.""" file_handler = FileHandler(filename=log_path, mode=mode) file_handler.setLevel(LOGLEVEL) file_handler.setFormatter(Formatter(LOGFORMATTER)) memory_handler.setTarget(file_handler) def remove_log_file(): """closes the log file and removes memory_handler from pointing at it""" if memory_handler.target: old_log_file_path=memory_handler.target.baseFilename