]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
recombine partial lines
authorSage Weil <sage@newdream.net>
Fri, 26 Feb 2021 23:02:14 +0000 (17:02 -0600)
committerSage Weil <sage@newdream.net>
Fri, 26 Feb 2021 23:02:14 +0000 (17:02 -0600)
teuthology/orchestra/run.py

index c733ab46d8d2e37c52c583e5fc5755afffd0bb80..aea3c8b7fbab92d47ac3da383b9638efb6540dad 100644 (file)
@@ -273,6 +273,7 @@ def copy_to_log(f, logger, loglevel=logging.INFO, capture=None, quiet=False):
     # Work-around for http://tracker.ceph.com/issues/8313
     if isinstance(f, ChannelFile):
         f._flags += ChannelFile.FLAG_BINARY
+    partial = ''
     for line in f:
         if capture:
             if isinstance(capture, io.StringIO):
@@ -285,16 +286,18 @@ def copy_to_log(f, logger, loglevel=logging.INFO, capture=None, quiet=False):
                     capture.write(line.encode())
                 else:
                     capture.write(line)
-        if line.endswith(b'\n'):
-            line.replace(b'\n', b'((ENDLINE))')
-        #line = line.rstrip()
         # Second part of work-around for http://tracker.ceph.com/issues/8313
         if quiet:
             continue
         try:
             if isinstance(line, bytes):
                 line = line.decode('utf-8', 'replace')
-            logger.log(loglevel, line)
+            logger.log(loglevel, f">>>segments = {segments}")
+            segments = line.split('\n')
+            next_partial = segments.pop(-1)
+            for s in segments:
+                logger.log(loglevel, partial + s)
+                partial = ''
         except (UnicodeDecodeError, UnicodeEncodeError):
             logger.exception("Encountered unprintable line in command output")