def initialize_logging()

in src/hpc/autoscale/hpclogging.py [0:0]


def initialize_logging(config: Optional[Dict[str, Any]] = None) -> None:
    global __INITIALIZED

    if __INITIALIZED:
        return

    if config is None:
        config = {}

    logging_section = config.get("logging", {})
    logging_config_file = logging_section.get("config_file")

    def errprint(msg: str) -> None:
        print(msg, file=sys.stderr)

    if logging_config_file:

        try:
            with open(logging_config_file, "r"):
                pass
        except FileNotFoundError:
            errprint("Logging conf file {} does not exist!".format(logging_config_file))
        except Exception as e:
            errprint(
                "Failed to open logging conf file {}! {}".format(logging_config_file, e)
            )
        else:
            logging.config.fileConfig(logging_config_file)
    elif logging_section.get("config"):
        logging.config.dictConfig(logging_section.get("config"))
    else:
        config_path = os.getenv("AUTOSCALE_LOG_CONFIG", "../conf/logging.conf")
        if os.path.exists(config_path):
            logging.config.fileConfig(config_path)
        else:
            basicConfig(
                stream=sys.stderr,
                format="%(asctime)s %(levelname)s: %(message)s",
                level=DEBUG,
            )

    __INITIALIZED = True