mirror of
https://github.com/Nighthawk42/mOrpheus.git
synced 2026-08-30 09:22:26 +00:00
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
# modules/logging.py
|
|
import os
|
|
import sys
|
|
import logging
|
|
from logging.handlers import RotatingFileHandler
|
|
from datetime import datetime
|
|
|
|
LOG_DIR = "log"
|
|
os.makedirs(LOG_DIR, exist_ok=True)
|
|
log_filename = f"{LOG_DIR}/assistant_{datetime.now().strftime('%Y%m%d_%H%M%S')}.log"
|
|
error_log_filename = f"{LOG_DIR}/errors_{datetime.now().strftime('%Y%m%d_%H%M%S')}.log"
|
|
|
|
logger = logging.getLogger("AssistantLogger")
|
|
logger.setLevel(logging.DEBUG)
|
|
|
|
# Console handler
|
|
ch = logging.StreamHandler(sys.stdout)
|
|
ch.setLevel(logging.DEBUG)
|
|
|
|
# Rotating file handler for all logs (max 5MB per file, up to 3 backups)
|
|
fh = RotatingFileHandler(log_filename, maxBytes=5 * 1024 * 1024, backupCount=3, encoding="utf-8")
|
|
fh.setLevel(logging.DEBUG)
|
|
|
|
# Rotating file handler for errors only
|
|
eh = RotatingFileHandler(error_log_filename, maxBytes=5 * 1024 * 1024, backupCount=3, encoding="utf-8")
|
|
eh.setLevel(logging.ERROR)
|
|
|
|
formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s', datefmt='%H:%M:%S')
|
|
ch.setFormatter(formatter)
|
|
fh.setFormatter(formatter)
|
|
eh.setFormatter(formatter)
|
|
|
|
logger.addHandler(ch)
|
|
logger.addHandler(fh)
|
|
logger.addHandler(eh)
|