- 修改config.py中的文件路径和定时发送时间 - 在各个脚本中添加日志记录功能,提升错误追踪和调试能力 - 更新README.md,详细说明程序功能和使用方法 - 重构scheduler.py、sendmsg.py、send_openmsg.py和send_filemsg.py,增强代码可读性和可维护性
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
import logging
|
|
import os
|
|
from datetime import datetime
|
|
from pathlib import Path
|
|
|
|
def setup_logger(name, log_file=None, level=logging.INFO):
|
|
"""设置日志记录器"""
|
|
# 创建logs目录
|
|
logs_dir = Path("wxauto_logs")
|
|
logs_dir.mkdir(exist_ok=True)
|
|
|
|
# 如果没有指定日志文件,使用默认命名
|
|
if log_file is None:
|
|
timestamp = datetime.now().strftime("%Y%m%d")
|
|
log_file = logs_dir / f"{name}_{timestamp}.log"
|
|
|
|
# 创建logger
|
|
logger = logging.getLogger(name)
|
|
logger.setLevel(level)
|
|
|
|
# 避免重复添加handler
|
|
if logger.handlers:
|
|
return logger
|
|
|
|
# 创建文件处理器
|
|
file_handler = logging.FileHandler(log_file, encoding='utf-8')
|
|
file_handler.setLevel(level)
|
|
|
|
# 创建控制台处理器
|
|
console_handler = logging.StreamHandler()
|
|
console_handler.setLevel(level)
|
|
|
|
# 创建格式器
|
|
formatter = logging.Formatter(
|
|
'%(asctime)s - %(name)s - %(levelname)s - %(funcName)s:%(lineno)d - %(message)s',
|
|
datefmt='%Y-%m-%d %H:%M:%S'
|
|
)
|
|
|
|
file_handler.setFormatter(formatter)
|
|
console_handler.setFormatter(formatter)
|
|
|
|
# 添加处理器到logger
|
|
logger.addHandler(file_handler)
|
|
logger.addHandler(console_handler)
|
|
|
|
return logger
|
|
|
|
def get_logger(name):
|
|
"""获取已配置的logger"""
|
|
return logging.getLogger(name)
|