From 01ae8776736e52b03da1cfda72c518b71c0762b2 Mon Sep 17 00:00:00 2001 From: qing <1776177662@qq.com> Date: Mon, 10 Aug 2026 12:26:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(smtp):=20=E7=BB=99=20LogClient=20=E8=A1=A5?= =?UTF-8?q?=20set=5Flog=5Flevel=20=E6=96=B9=E6=B3=95=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=90=AF=E5=8A=A8=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 9fc3542 把 set_log_level 加成模块级函数,但 smtp_v2.py:319 以 logs.set_log_level() 当实例方法调用,导致服务启动即抛 AttributeError: 'LogClient' object has no attribute 'set_log_level'。 新增 LogClient.set_log_level 委托给模块级函数,保持 logs 单例为 统一公开 API,模块级函数保留不破坏其他调用。 --- smtp/log_client.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/smtp/log_client.py b/smtp/log_client.py index 99fd6fc..0067a14 100644 --- a/smtp/log_client.py +++ b/smtp/log_client.py @@ -139,6 +139,13 @@ class LogClient: def critical(self, service, message, **kw): self.push(service, 'CRITICAL', message, **kw) + def set_log_level(self, level): + """设置日志过滤阈值(低于该级别的日志将被丢弃)。 + + 委托给模块级 set_log_level,统一通过 logs 单例对外暴露接口。 + """ + set_log_level(level) + def flush(self): """手动 flush 队列中剩余的日志(含后台线程持有的局部 batch)。""" self._flush_done.clear()