logger.py 799 Bytes
import loguru
import copy
import os
import datetime

def get_logger_and_log_path(log_root,
                            crt_date,
                            suffix):
    """
    get logger and log path

    Args:
        log_root (str): root path of log
        crt_date (str): formated date name (Y-M-D)
        suffix (str): log save name

    Returns:
        logger (loguru.logger): logger object
        log_path (str): current root log path (with suffix)
    """
    log_path = os.path.join(log_root, crt_date, suffix)
    if not os.path.exists(log_path):
        os.makedirs(log_path)

    logger_path = os.path.join(log_path, 'logfile.log')
    logger = loguru.logger
    fmt = '{time:YYYY-MM-DD at HH:mm:ss} | {message}'
    logger.add(logger_path, format=fmt)

    return logger, log_path