From e8dc9968dc0afdf42a1509e70f7cd0c611900a7c Mon Sep 17 00:00:00 2001 From: Umpire2018 Date: Wed, 27 Sep 2023 21:01:31 +0800 Subject: [PATCH 1/3] Replace psycopg2 with psycopg2-binary To avoid `No matching distribution found for psycopg2`, I use an alternative from [Psycopg2 web page](https://www.psycopg.org/docs/install.html#quick-install). It is the quickest way to install Psycopg by using the wheel package available on PyPI in most operating systems. close #101, close #34 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7a4eecaf..f8837476 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ Jinja2==3.1.2 MarkupSafe==2.1.3 peewee==3.16.2 prompt-toolkit==3.0.39 -psycopg2==2.9.6 +psycopg2-binary==2.9.6 python-dotenv==1.0.0 python-editor==1.0.4 questionary==1.10.0 From d5503447b113560c157650e5ca403ca1b4282e78 Mon Sep 17 00:00:00 2001 From: Umpire2018 Date: Wed, 27 Sep 2023 21:08:25 +0800 Subject: [PATCH 2/3] Remove outdated requirements.txt There are two requirements.txt in the project, the one in the root dir should be the up-to-date version. So i deleted the one in pilot folder. --- pilot/requirements.txt | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 pilot/requirements.txt diff --git a/pilot/requirements.txt b/pilot/requirements.txt deleted file mode 100644 index 22978e11..00000000 --- a/pilot/requirements.txt +++ /dev/null @@ -1,19 +0,0 @@ -blessed==1.20.0 -certifi==2023.5.7 -charset-normalizer==3.2.0 -distro==1.8.0 -idna==3.4 -inquirer==3.1.3 -Jinja2==3.1.2 -MarkupSafe==2.1.3 -psycopg2==2.9.6 -python-dotenv==1.0.0 -python-editor==1.0.4 -readchar==4.0.5 -regex==2023.6.3 -requests==2.31.0 -six==1.16.0 -termcolor==2.3.0 -tiktoken==0.4.0 -urllib3==2.0.4 -wcwidth==0.2.6 From 206091edce713e509c530744cb69bd0f14393381 Mon Sep 17 00:00:00 2001 From: Nicholas Albion Date: Fri, 29 Sep 2023 18:17:43 +1000 Subject: [PATCH 3/3] Don't log password & api-key --- pilot/logger/logger.py | 28 ++++++++++++++++++++++++---- pilot/main.py | 2 +- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/pilot/logger/logger.py b/pilot/logger/logger.py index 448b0920..3e19c789 100644 --- a/pilot/logger/logger.py +++ b/pilot/logger/logger.py @@ -1,4 +1,4 @@ -# logger.py +import os import logging @@ -7,19 +7,39 @@ def setup_logger(): log_format = "%(asctime)s [%(filename)s:%(lineno)s - %(funcName)20s() ] %(levelname)s: %(message)s" # Create a log handler for file output - file_handler = logging.FileHandler(filename='logger/debug.log', mode='w') - file_handler.setLevel(logging.DEBUG) + file_handler = logging.FileHandler(filename=os.path.join(os.path.dirname(__file__), 'debug.log'), mode='w') # Apply the custom format to the handler formatter = logging.Formatter(log_format) file_handler.setFormatter(formatter) + # file_handler.addFilter(lambda record: record.levelno <= logging.INFO) + file_handler.addFilter(filter_sensitive_fields) # Create a logger and add the handler logger = logging.getLogger() - logger.setLevel(logging.DEBUG) logger.addHandler(file_handler) + if os.getenv('DEBUG') == 'true': + logger.setLevel(logging.DEBUG) + else: + logger.setLevel(logging.INFO) + return logger +sensitive_fields = ['--api-key', 'password'] + + +def filter_sensitive_fields(record): + if len(record.args): + args = record.args.copy() + + for field in sensitive_fields: + if field in args: + args[field] = '*****' + + record.args = args + return record.levelno <= logging.INFO + + logger = setup_logger() diff --git a/pilot/main.py b/pilot/main.py index dfe83482..26d87503 100644 --- a/pilot/main.py +++ b/pilot/main.py @@ -24,7 +24,7 @@ def init(): arguments = get_arguments() - logger.info(f"Starting with args: {arguments}") + logger.info('Starting with args: %s', arguments) return arguments