Files
gpt-pilot/pilot/logger/logger.py
2023-09-29 18:18:55 +10:00

46 lines
1.2 KiB
Python

import os
import logging
def setup_logger():
# Create a custom format for your logs
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=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.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()