| 140 | |
| 141 | |
| 142 | def add_file_handler_if_needed(logger, log_file, file_mode, log_level): |
| 143 | for handler in logger.handlers: |
| 144 | if isinstance(handler, logging.FileHandler): |
| 145 | return |
| 146 | |
| 147 | if importlib.util.find_spec('torch') is not None: |
| 148 | is_worker0 = int(os.getenv('LOCAL_RANK', -1)) in {-1, 0} |
| 149 | else: |
| 150 | is_worker0 = True |
| 151 | |
| 152 | if is_worker0 and log_file is not None: |
| 153 | file_handler = logging.FileHandler(log_file, file_mode) |
| 154 | file_handler.setFormatter(logger_format) |
| 155 | file_handler.setLevel(log_level) |
| 156 | logger.addHandler(file_handler) |