[docs]defsetup_logging(filename:str|os.PathLike|Path,mode:str="w")->None:assertmodein("w","a")# Not read mode# Make parent directoryfilename=Path(filename)filename.parent.mkdir(exist_ok=True,parents=True)# Setup root loggerroot=logging.getLogger()ifroot.handlers:forhandlerinroot.handlers:handler.close()root.removeHandler(handler)logging.basicConfig(level=logging.INFO,format="%(asctime)s%(message)s",handlers=[TqdmHandler(),logging.FileHandler(filename=filename,mode=mode)],force=True,)