Source code for icolos.utils.entry_point_functions.logging_helper_functions

import json
import logging.config as logging_config
from icolos.loggers.entrypoint_logger import EntryPointLogger
from icolos.utils.enums.composite_agents_enums import WorkflowEnum
from icolos.utils.enums.logging_enums import LoggingConfigEnum

from icolos.utils.general.convenience_functions import *

_WE = WorkflowEnum()
_LE = LoggingConfigEnum()


[docs]def initialize_logging(log_conf_path: str, workflow_conf: dict) -> EntryPointLogger: with open(log_conf_path, "r") as f: log_conf_dict = json.load(f) header = nested_get(workflow_conf, [_WE.WORKFLOW, _WE.HEADER], default={}) if in_keys(header, [_WE.LOGGING, _WE.LOGGING_LOGFILE]): try: log_conf_dict["handlers"]["file_handler"]["filename"] = nested_get( header, [_WE.LOGGING, _WE.LOGGING_LOGFILE], None ) log_conf_dict["handlers"]["file_handler_blank"]["filename"] = nested_get( header, [_WE.LOGGING, _WE.LOGGING_LOGFILE], None ) except KeyError: pass logging_config.dictConfig(log_conf_dict) logger = EntryPointLogger() return logger