Da-123's picture
logger file (#6)
38d4152 verified
raw
history blame contribute delete
857 Bytes
import logging
import sys
from datetime import datetime
from loguru import logger as _logger
from pathlib import Path
import sys
_print_level = "INFO"
PROJECT_ROOT = Path(sys.path[0]) # Assuming the script is run from the project root
def define_log_level(print_level="INFO", logfile_level="DEBUG", name: str = None):
"""Adjust the log level to above level"""
global _print_level
_print_level = print_level
current_date = datetime.now()
formatted_date = current_date.strftime("%Y%m%d%H%M%S")
log_name = (
f"{name}_{formatted_date}" if name else formatted_date
) # name a log with prefix name
_logger.remove()
_logger.add(sys.stderr, level=print_level)
_logger.add(PROJECT_ROOT / f"logs/{log_name}.log", level=logfile_level)
return _logger
# Module-level default logger
logger = define_log_level()