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