diff --git a/pilot/logger/logger.py b/pilot/logger/logger.py index 448b092..3e19c78 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 dfe8348..26d8750 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