Create a logger that writes to a log file and stdout.
(logging_dir, rank, filename="log")
| 3 | |
| 4 | |
| 5 | def create_logger(logging_dir, rank, filename="log"): |
| 6 | """ |
| 7 | Create a logger that writes to a log file and stdout. |
| 8 | """ |
| 9 | if rank == 0 and logging_dir is not None: # real logger |
| 10 | logging.basicConfig( |
| 11 | level=logging.INFO, |
| 12 | format='[\033[34m%(asctime)s\033[0m] %(message)s', |
| 13 | datefmt='%Y-%m-%d %H:%M:%S', |
| 14 | handlers=[ |
| 15 | logging.StreamHandler(), |
| 16 | logging.FileHandler(f"{logging_dir}/{filename}.txt") |
| 17 | ] |
| 18 | ) |
| 19 | logger = logging.getLogger(__name__) |
| 20 | else: # dummy logger (does nothing) |
| 21 | logger = logging.getLogger(__name__) |
| 22 | logger.addHandler(logging.NullHandler()) |
| 23 | return logger |
| 24 | |
| 25 | |
| 26 | def get_latest_ckpt(checkpoint_dir): |