Don't log password & api-key

This commit is contained in:
Nicholas Albion
2023-09-29 18:17:43 +10:00
parent b9ca764e1d
commit 9e9efd133d
2 changed files with 25 additions and 5 deletions

View File

@@ -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()

View File

@@ -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