import sys
from pathlib import Path
from datetime import datetime
from nonebot.log import logger, default_format
from .config import Config
LOGGER_DIR = Path('.') / 'ATRI' / 'data' / 'logs'
LOGGER_DIR.parent.mkdir(exist_ok=True, parents=True)
NOW_TIME = datetime.now().strftime('%Y%m%d-%H')
log_format = (
"\033[36mATRI\033[0m "
"| {time:MM-DD HH:mm:ss} "
"| {level} "
"{name} >> "
"{message}"
)
logger.remove()
logger.add(
sys.stdout,
level="DEBUG" if Config.BotSelfConfig.debug else "INFO",
colorize=True,
format=log_format
)
logger.add(
LOGGER_DIR / "info" / f"{NOW_TIME}.log",
rotation="10 MB",
enqueue=True,
level="INFO",
encoding="utf-8",
format=log_format
)
logger.add(
LOGGER_DIR / "warning" / f"{NOW_TIME}.log",
rotation="10 MB",
enqueue=True,
level="WARNING",
encoding="utf-8",
format=log_format
)
logger.add(
LOGGER_DIR / "error" / f"{NOW_TIME}.log",
rotation="10 MB",
enqueue=True,
level="ERROR",
encoding="utf-8",
format=log_format
)
logger.add(
LOGGER_DIR / "debug" / f"{NOW_TIME}.log",
rotation="10 MB",
enqueue=True,
level="DEBUG",
encoding="utf-8",
format=log_format
)