From f73baa091a3fa1da23af96d49cbd0fc4d20f0992 Mon Sep 17 00:00:00 2001 From: bennykok Date: Mon, 29 Jan 2024 13:39:37 +0800 Subject: [PATCH] fix: disable the console log wrapper by default to preview spamming log issues Running with export CD_ENABLE_LOG=true; python main.py to enable log --- prestartup_script.py | 75 +++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 32 deletions(-) diff --git a/prestartup_script.py b/prestartup_script.py index e2f412a..a944d6d 100644 --- a/prestartup_script.py +++ b/prestartup_script.py @@ -7,45 +7,56 @@ import threading import logging from logging.handlers import RotatingFileHandler -handler = RotatingFileHandler('comfy-deploy.log', maxBytes=500000, backupCount=5) +# Running with export CD_ENABLE_LOG=true; python main.py -original_stdout = sys.stdout -original_stderr = sys.stderr +# Check for 'cd-enable-log' flag in input arguments +# cd_enable_log = '--cd-enable-log' in sys.argv +cd_enable_log = os.environ.get('CD_ENABLE_LOG', 'false').lower() == 'true' -class StreamToLogger(): - def __init__(self, log_level): - self.log_level = log_level +def setup(): + handler = RotatingFileHandler('comfy-deploy.log', maxBytes=500000, backupCount=5) - def write(self, buf): - if (self.log_level == logging.INFO): - original_stdout.write(buf) - original_stdout.flush() - elif (self.log_level == logging.ERROR): - original_stderr.write(buf) - original_stderr.flush() + original_stdout = sys.stdout + original_stderr = sys.stderr - for line in buf.rstrip().splitlines(): - handler.handle( - logging.LogRecord( - name="comfy-deploy", - level=self.log_level, - pathname="prestartup_script.py", - lineno=1, - msg=line.rstrip(), - args=None, - exc_info=None + class StreamToLogger(): + def __init__(self, log_level): + self.log_level = log_level + + def write(self, buf): + if (self.log_level == logging.INFO): + original_stdout.write(buf) + original_stdout.flush() + elif (self.log_level == logging.ERROR): + original_stderr.write(buf) + original_stderr.flush() + + for line in buf.rstrip().splitlines(): + handler.handle( + logging.LogRecord( + name="comfy-deploy", + level=self.log_level, + pathname="prestartup_script.py", + lineno=1, + msg=line.rstrip(), + args=None, + exc_info=None + ) ) - ) - def flush(self): - if (self.log_level == logging.INFO): - original_stdout.flush() - elif (self.log_level == logging.ERROR): - original_stderr.flush() + def flush(self): + if (self.log_level == logging.INFO): + original_stdout.flush() + elif (self.log_level == logging.ERROR): + original_stderr.flush() -# Redirect stdout and stderr to the logger -sys.stdout = StreamToLogger(logging.INFO) -sys.stderr = StreamToLogger(logging.ERROR) + # Redirect stdout and stderr to the logger + sys.stdout = StreamToLogger(logging.INFO) + sys.stderr = StreamToLogger(logging.ERROR) + +if cd_enable_log: + print("** Comfy Deploy logging enabled") + setup() try: # Get the absolute path of the script's directory