From 8507091d4c80caecd8b55a0fb5026d56aa9913f9 Mon Sep 17 00:00:00 2001 From: Lucas <12496191+lucashuy@users.noreply.github.com> Date: Tue, 29 Aug 2023 11:56:21 -0700 Subject: [PATCH 1/3] Fix missing encoding when logging from Makefile --- aws_lambda_builders/workflows/custom_make/make.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/aws_lambda_builders/workflows/custom_make/make.py b/aws_lambda_builders/workflows/custom_make/make.py index 974fdbd9d..e627d9c37 100644 --- a/aws_lambda_builders/workflows/custom_make/make.py +++ b/aws_lambda_builders/workflows/custom_make/make.py @@ -4,6 +4,7 @@ import io import logging import shutil +import sys import threading LOG = logging.getLogger(__name__) @@ -92,9 +93,11 @@ def run(self, args, env=None, cwd=None): # Log every stdout line by iterating for line in p.stdout: - decoded_line = line.decode("utf-8").strip() - LOG.info(decoded_line) + sys.stderr.buffer.write(line) + sys.stderr.flush() + # Gather total stdout + decoded_line = line.decode("utf-8").strip() stdout += decoded_line # Wait for the process to exit and stderr thread to end. From 77f2e967d1fb1134c1f9e3a40b4fa2691789e7ac Mon Sep 17 00:00:00 2001 From: Lucas <12496191+lucashuy@users.noreply.github.com> Date: Tue, 29 Aug 2023 16:39:44 -0700 Subject: [PATCH 2/3] Add comment explaining why stderr --- aws_lambda_builders/workflows/custom_make/make.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/aws_lambda_builders/workflows/custom_make/make.py b/aws_lambda_builders/workflows/custom_make/make.py index e627d9c37..167b012fc 100644 --- a/aws_lambda_builders/workflows/custom_make/make.py +++ b/aws_lambda_builders/workflows/custom_make/make.py @@ -3,6 +3,7 @@ """ import io import logging +import os import shutil import sys import threading @@ -93,7 +94,13 @@ def run(self, args, env=None, cwd=None): # Log every stdout line by iterating for line in p.stdout: - sys.stderr.buffer.write(line) + # Writing to stderr instead of using LOG.info + # since the logger library does not include ANSI + # formatting characters in the output + # + # stderr is used since stdout appears to be reserved + # for command responses + sys.stderr.buffer.write(line.strip() + os.linesep.encode()) sys.stderr.flush() # Gather total stdout From 07a5d4b8b63e6e74862801e1bf867d2502072f72 Mon Sep 17 00:00:00 2001 From: Lucas <12496191+lucashuy@users.noreply.github.com> Date: Tue, 29 Aug 2023 16:40:38 -0700 Subject: [PATCH 3/3] Undo testing code --- aws_lambda_builders/workflows/custom_make/make.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/aws_lambda_builders/workflows/custom_make/make.py b/aws_lambda_builders/workflows/custom_make/make.py index 167b012fc..799242b04 100644 --- a/aws_lambda_builders/workflows/custom_make/make.py +++ b/aws_lambda_builders/workflows/custom_make/make.py @@ -3,7 +3,6 @@ """ import io import logging -import os import shutil import sys import threading @@ -100,7 +99,7 @@ def run(self, args, env=None, cwd=None): # # stderr is used since stdout appears to be reserved # for command responses - sys.stderr.buffer.write(line.strip() + os.linesep.encode()) + sys.stderr.buffer.write(line) sys.stderr.flush() # Gather total stdout