"""Logger.""" import uuid from owslogger import logger as owslogger import sentry_sdk from sentry_sdk.integrations.aws_lambda import AwsLambdaIntegration from sentry_sdk.integrations.logging import LoggingIntegration from src.configs import common_config from src.configs import config from src.configs import logging as log_config app_logger = owslogger.setup( environment=common_config.ENVIRONMENT, logger_name=config.LAMBDA_NAME, logger_level=log_config.LOGGER_LEVEL, service_name=config.LAMBDA_NAME, service_version='1.0.0' ) def get_logger(correlation_id=None): """Initialize logger.""" log_writer = owslogger.OwsLoggingAdapter(app_logger, {'correlation_id': correlation_id or uuid.uuid4()}) sentry_logging = LoggingIntegration( level=log_config.LOGGER_LEVEL, event_level=None # Don't send error log as sentry event. ) integrations = [AwsLambdaIntegration(), sentry_logging] sentry_sdk.init( dsn=common_config.SENTRY_DSN, environment=common_config.ENVIRONMENT, integrations=integrations) return log_writer logger = get_logger()