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