Send_picture_automatically/logger_config.py
teddy f96d1eb08d feat: 更新配置和增强日志记录功能
- 修改config.py中的文件路径和定时发送时间
- 在各个脚本中添加日志记录功能,提升错误追踪和调试能力
- 更新README.md,详细说明程序功能和使用方法
- 重构scheduler.py、sendmsg.py、send_openmsg.py和send_filemsg.py,增强代码可读性和可维护性
2025-08-21 15:22:55 +08:00

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)