35 lines
903 B
Python
35 lines
903 B
Python
import logging
|
|
import os
|
|
import sys
|
|
from logging.handlers import TimedRotatingFileHandler
|
|
|
|
from indexer.config import LOG_LEVEL, LOG_DIR
|
|
|
|
|
|
def setup_logging() -> logging.Logger:
|
|
os.makedirs(LOG_DIR, exist_ok=True)
|
|
|
|
level = getattr(logging, LOG_LEVEL.upper(), logging.INFO)
|
|
fmt = logging.Formatter(
|
|
"%(asctime)s [%(levelname)-8s] %(message)s",
|
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
)
|
|
|
|
file_handler = TimedRotatingFileHandler(
|
|
os.path.join(LOG_DIR, "backup.log"),
|
|
when="midnight",
|
|
backupCount=90,
|
|
encoding="utf-8",
|
|
)
|
|
file_handler.setFormatter(fmt)
|
|
|
|
console_handler = logging.StreamHandler(sys.stdout)
|
|
console_handler.setFormatter(fmt)
|
|
|
|
logging.root.setLevel(level)
|
|
logging.root.handlers.clear()
|
|
logging.root.addHandler(file_handler)
|
|
logging.root.addHandler(console_handler)
|
|
|
|
return logging.getLogger("backup")
|