File size: 1,044 Bytes
c881b77 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import os
import logging
from datetime import datetime
from accelerate.logging import get_logger
def set_logger(config, accelerator, prefix=None):
logger = get_logger(__name__)
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s : %(levelname)-8s %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
console = logging.StreamHandler()
console.setLevel(logging.INFO)
console.setFormatter(formatter)
logger.logger.addHandler(console)
if accelerator.is_main_process:
logging_path = os.path.join(config.ckpt_dir, config.task_name, 'logs')
if not os.path.exists(logging_path):
os.makedirs(logging_path)
log_file = os.path.join(logging_path, f"{f'[{prefix}]'}{datetime.now().strftime('%Y-%m-%d_%H:%M:%S')}.log")
fh = logging.FileHandler(log_file, mode="w", encoding="utf-8")
fh.setFormatter(formatter)
fh.setLevel(logging.INFO)
logger.logger.addHandler(fh)
logger.info(accelerator.state, main_process_only=False)
return logger |