in source/services/lex-bot/shared/logger.py [0:0]
def get_logger(name):
"""
Get a configured logger. Compatible with both the AWS Lambda runtime (root logger) and local execution
:param name: The name of the logger (most often __name__ of the calling module)
:return: The logger to use
"""
logger = None
# first case: running as a lambda function or in pytest with conftest
# second case: running a single test or locally under test
if len(logging.getLogger().handlers) > 0:
logger = logging.getLogger()
logger.setLevel(get_level())
# overrides
logging.getLogger("boto3").setLevel(logging.WARNING)
logging.getLogger("botocore").setLevel(logging.WARNING)
logging.getLogger("urllib3").setLevel(logging.WARNING)
else:
logging.basicConfig(level=get_level()) # NOSONAR logger's config is safe here
logger = logging.getLogger(name)
return logger