39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import logging
|
|
import os
|
|
import sys
|
|
from logging.handlers import RotatingFileHandler
|
|
|
|
LOG_DIR = "log"
|
|
LOG_FILE = os.path.join(LOG_DIR, "umb.log")
|
|
LOG_MAX_BYTES = 10 * 1024 * 1024
|
|
LOG_BACKUP_COUNT = 5
|
|
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(name)s - %(funcName)s - %(message)s"
|
|
|
|
|
|
def setup_logging():
|
|
os.makedirs(LOG_DIR, exist_ok=True)
|
|
|
|
root_logger = logging.getLogger()
|
|
root_logger.setLevel(logging.INFO)
|
|
|
|
for handler in root_logger.handlers[:]:
|
|
root_logger.removeHandler(handler)
|
|
|
|
file_handler = RotatingFileHandler(
|
|
LOG_FILE,
|
|
maxBytes=LOG_MAX_BYTES,
|
|
backupCount=LOG_BACKUP_COUNT,
|
|
encoding="utf-8",
|
|
)
|
|
file_handler.setLevel(logging.INFO)
|
|
file_handler.setFormatter(logging.Formatter(LOG_FORMAT))
|
|
root_logger.addHandler(file_handler)
|
|
|
|
stream_handler = logging.StreamHandler(sys.stdout)
|
|
stream_handler.setLevel(logging.INFO)
|
|
stream_handler.setFormatter(logging.Formatter(LOG_FORMAT))
|
|
root_logger.addHandler(stream_handler)
|
|
|
|
logging.getLogger("aiogram").setLevel(logging.INFO)
|
|
logging.getLogger("aiogram.dispatcher").setLevel(logging.INFO)
|