Browse Source

Fix "message too long" error when logging to rsyslog (#389).

Dan Helfman 3 years ago
parent
commit
5890a1cb48
2 changed files with 8 additions and 2 deletions
  1. 3 0
      NEWS
  2. 5 2
      borgmatic/execute.py

+ 3 - 0
NEWS

@@ -1,3 +1,6 @@
+1.5.18
+ * #389: Fix "message too long" error when logging to rsyslog.
+
 1.5.17
  * #437: Fix error when configuration file contains "umask" option.
  * Remove test dependency on vim and /dev/urandom.

+ 5 - 2
borgmatic/execute.py

@@ -138,9 +138,12 @@ def log_outputs(processes, exclude_stdouts, output_log_level, borg_local_path):
         if not output_buffer:
             continue
 
-        remaining_output = output_buffer.read().rstrip().decode()
+        while True:
+            remaining_output = output_buffer.readline().rstrip().decode()
+
+            if not remaining_output:  # pragma: no cover
+                break
 
-        if remaining_output:  # pragma: no cover
             logger.log(output_log_level, remaining_output)