summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compose/cli/log_printer.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/compose/cli/log_printer.py b/compose/cli/log_printer.py
index 043d3d06..60bba8da 100644
--- a/compose/cli/log_printer.py
+++ b/compose/cli/log_printer.py
@@ -102,8 +102,18 @@ class LogPrinter(object):
# active containers to tail, so continue
continue
+ self.write(line)
+
+ def write(self, line):
+ try:
self.output.write(line)
- self.output.flush()
+ except UnicodeEncodeError:
+ # This may happen if the user's locale settings don't support UTF-8
+ # and UTF-8 characters are present in the log line. The following
+ # will output a "degraded" log with unsupported characters
+ # replaced by `?`
+ self.output.write(line.encode('ascii', 'replace').decode())
+ self.output.flush()
def remove_stopped_threads(thread_map):