feat: unify proxy config and centralize runtime logging

This commit is contained in:
crypto_predictor committed 2026-03-07 14:45:34 +08:00
1 parent 7af21bed6a
commit 80f2a82c19
9 files changed
+174 -43

No files matched your search

+19 -3
View File
@@ -1,4 +1,10 @@
import requests
from utils.network_proxy import apply_global_proxy_from_env, get_send_msg_proxy_url
from utils.project_logger import get_project_logger
apply_global_proxy_from_env()
logger = get_project_logger("send_msg")
class LarkNotifier:
"""飞书消息发送工具类"""
@@ -12,6 +18,16 @@ class LarkNotifier:
# 使用 Session 可以复用底层 TCP 连接,提升发送效率
self.session = requests.Session()
proxy_url = get_send_msg_proxy_url()
if proxy_url:
self.session.proxies.update({
"http": proxy_url,
"https": proxy_url,
})
logger.info("send_msg 使用独立代理: %s", proxy_url)
else:
logger.info("send_msg 未启用代理")
def send_alert(self, title: str, content: str):
"""
发送通用文本告警
@@ -29,10 +45,10 @@ class LarkNotifier:
# 使用 data=payload 发送 Form Data
response = self.session.post(self.url, data=payload, timeout=5)
response.raise_for_status()
print(f"告警发送成功: {title}")
logger.info("告警发送成功: %s", title)
except Exception as e:
# 告警系统自身的错误只记录日志,绝不抛出异常影响主程序
print(f"发送飞书告警失败: {e}")
logger.error("发送飞书告警失败: %s", e)
# 实例化一个全局单例供其他模块直接导入使用
lark_notifier = LarkNotifier()
lark_notifier = LarkNotifier()