logger.py 721 Bytes
import loguru
import os
import datetime

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

    Args:
        log_root (str): root path of log
        suffix (str): log save name

    Returns:
        logger (loguru.logger): logger object
        log_path (str): current root log path (with suffix)
    """
    crt_date = datetime.date.today().strftime('%Y-%m-%d')
    log_dir = os.path.join(log_root, crt_date, suffix)
    if not os.path.exists(log_dir):
        os.makedirs(log_dir)

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

    return logger, log_dir