import logging import torch.distributed as dist from rich.logging import RichHandler def create_logger(): """ Create a logger that writes to a log file and stdout. """ logger = logging.getLogger(__name__) return logger def init_dist_logger(): """ Update the logger to write to a log file. """ global logger if dist.get_rank() == 0: logger = logging.getLogger(__name__) handler = RichHandler(show_path=False, markup=True, rich_tracebacks=True) formatter = logging.Formatter("VideoSys - %(levelname)s: %(message)s") handler.setFormatter(formatter) logger.addHandler(handler) logger.setLevel(logging.INFO) else: # dummy logger (does nothing) logger = logging.getLogger(__name__) logger.addHandler(logging.NullHandler()) logger = create_logger()