progress-aware logging

This commit is contained in:
Casper da Costa-Luis
2019-08-11 23:11:06 +01:00
parent 7328ff4866
commit 0de87af5fd
+12
View File
@@ -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()