From 0de87af5fd77b2e317e8da1360e40982bf70f0f6 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Sun, 11 Aug 2019 23:11:06 +0100 Subject: [PATCH] progress-aware logging --- dvc/logger.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dvc/logger.py b/dvc/logger.py index 59ac3e3f3..93644c403 100644 --- a/dvc/logger.py +++ b/dvc/logger.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from dvc.utils.compat import str, StringIO +from dvc.progress import Tqdm import logging import logging.handlers @@ -149,6 +150,17 @@ class LoggerHandler(logging.StreamHandler): super(LoggerHandler, self).handleError(record) raise LoggingException(record) + def emit(self, record): + """Write to Tqdm's stream so as to not break progressbars""" + try: + msg = self.format(record) + Tqdm.write(msg) + self.flush() + except (KeyboardInterrupt, SystemExit): + raise + except: # noqa pylint: disable=bare-except + self.handleError(record) + def setup(level=logging.INFO): colorama.init()