Skip to content
Snippets Groups Projects
Commit dce01ea7 authored by Alexandre Vincent's avatar Alexandre Vincent
Browse files

pass config as parameter to init_logger instead of global

parent 80103342
No related branches found
No related tags found
1 merge request!483reducing external dependencies for app.helper package
Pipeline #101907 passed with warnings
......@@ -27,7 +27,7 @@ class DaskWorkerPlugin(WorkerPlugin):
logger.debug("WorkerPlugin initialised")
def setup(self, worker):
init_logger(service_name=Config.service_name.value)
init_logger(service_name=Config.service_name.value, config=Config)
self.worker = worker
if self._register_fsspec_implementation:
......
......@@ -21,7 +21,6 @@ import structlog
from structlog.contextvars import merge_contextvars
from opencensus.trace import config_integration
from app.conf import Config
from app.context import get_or_create_ctx
from app.helper.utils import rename_cloud_role_func
......@@ -87,12 +86,16 @@ class AzureContextLoggerAdapter(logging.LoggerAdapter):
return msg, kwargs
def init_logger(service_name):
def init_logger(*, service_name, config):
global _LOGGER
if Config.cloud_provider.value == 'az':
_LOGGER = create_azure_logger(service_name)
elif Config.cloud_provider.value == 'gcp':
if config.cloud_provider.value == 'az':
_LOGGER = create_azure_logger(
service_name=service_name,
az_ai_instrumentation_key=config.get('az_ai_instrumentation_key'),
az_logger_level=config.get('az_logger_level')
)
elif config.cloud_provider.value == 'gcp':
_LOGGER = create_gcp_logger(service_name)
else:
logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG)
......@@ -101,8 +104,7 @@ def init_logger(service_name):
return _LOGGER
def create_azure_logger(service_name):
from opencensus.ext.azure.log_exporter import AzureLogHandler
def create_azure_logger(*, service_name, az_ai_instrumentation_key, az_logger_level):
"""
Create logger with two handlers:
- AzureLogHandler: to see Dependencies, Requests, Traces and Exception into Azure monitoring
......@@ -117,8 +119,8 @@ def create_azure_logger(service_name):
stdout_handler = logging.StreamHandler(sys.stdout)
# AzurelogHandler for logging to azure appinsight
key = Config.get('az_ai_instrumentation_key')
logger_level = Config.get('az_logger_level')
key = az_ai_instrumentation_key
logger_level = az_logger_level
az_handler = AzureLogHandler(connection_string=f'InstrumentationKey={key}')
az_handler.setLevel(logging.getLevelName(logger_level))
az_handler.add_telemetry_processor(rename_cloud_role_func(service_name))
......
......@@ -130,7 +130,7 @@ def make_entity_type_dependency(entity_type: Entity, version: str):
async def startup_event():
service_name = Config.service_name.value
logger.init_logger(service_name=service_name)
logger.init_logger(service_name=service_name, config=Config)
#check python version >=3.8
assert sys.version_info.major == 3 and sys.version_info.minor >= 8, 'Python version required >=3.8'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment