I want to use Python's logging library to overwrite the previous console line. It should display ... on the console while the process is running, then overwrite it with OK once the process completes, as shown in this Python code. import time for i in range(10): print(f'Progress: {i+1}/10 ...', end='') time.sleep(1) print(f'\rProgress: {i+1}/10 OK') I want to achieve the same result using the logging library, but my current solution feels too verbose and un-pythonic. Does anyone have a better approach? Thanks! import logging import sys import time class OverwriteStreamHandler(logging.StreamHandler): def __init__(self, stream, overwrite=False): super().__init__(stream) self.overwrite = overwrite def emit(self, record): msg = self.format(record) stream = self.stream if self.overwrite: stream.write('\r' + msg) else: stream.write(msg) stream.flush() def create_logger(name, overwrite=False): handler = OverwriteStreamHandler(sys.stdout, overwrite=overwrite) handler.setLevel(logging.DEBUG) formatter = logging.Formatter('%(message)s') handler.setFormatter(formatter) logger = logging.getLogger(name) logger.setLevel(logging.DEBUG) logger.addHandler(handler) return logger logger1 = create_logger('logger1') logger2 = create_logger('logger2', overwrite=True) for i in range(10): logger1.info(f'Progress: {i+1}/10 ...') time.sleep(1) logger2.info(f'Progress: {i+1}/10 Ok\n') Continue reading...