mirror of
https://github.com/hyb-oyqq/FRAISEMOE-Addons-Installer-NEXT.git
synced 2025-12-16 20:10:28 +00:00
- 重构 PrivacyManager 类,增加隐私协议版本检查和用户同意状态管理 - 在主窗口初始化时获取云端配置,提高效率 - 添加日志功能,记录应用启动、隐私协议加载等关键事件 - 优化错误处理和用户提示信息
64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
from .helpers import censor_url
|
|
import logging
|
|
import os
|
|
from data.config import CACHE
|
|
|
|
class Logger:
|
|
def __init__(self, filename, stream):
|
|
self.terminal = stream
|
|
self.log = open(filename, "w", encoding="utf-8")
|
|
|
|
def write(self, message):
|
|
censored_message = censor_url(message)
|
|
self.terminal.write(censored_message)
|
|
self.log.write(censored_message)
|
|
self.flush()
|
|
|
|
def flush(self):
|
|
self.terminal.flush()
|
|
self.log.flush()
|
|
|
|
def close(self):
|
|
self.log.close()
|
|
|
|
def setup_logger(name):
|
|
"""设置并返回一个命名的logger
|
|
|
|
Args:
|
|
name: logger的名称
|
|
|
|
Returns:
|
|
logging.Logger: 配置好的logger对象
|
|
"""
|
|
# 创建logger
|
|
logger = logging.getLogger(name)
|
|
|
|
# 避免重复添加处理器
|
|
if logger.hasHandlers():
|
|
return logger
|
|
|
|
logger.setLevel(logging.DEBUG)
|
|
|
|
# 确保日志目录存在
|
|
log_dir = os.path.join(CACHE, "logs")
|
|
os.makedirs(log_dir, exist_ok=True)
|
|
log_file = os.path.join(log_dir, f"{name}.log")
|
|
|
|
# 创建文件处理器
|
|
file_handler = logging.FileHandler(log_file, encoding="utf-8")
|
|
file_handler.setLevel(logging.DEBUG)
|
|
|
|
# 创建控制台处理器
|
|
console_handler = logging.StreamHandler()
|
|
console_handler.setLevel(logging.INFO)
|
|
|
|
# 创建格式器并添加到处理器
|
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
file_handler.setFormatter(formatter)
|
|
console_handler.setFormatter(formatter)
|
|
|
|
# 添加处理器到logger
|
|
logger.addHandler(file_handler)
|
|
logger.addHandler(console_handler)
|
|
|
|
return logger |