smtp: CLI 标准化补完(--host/--log-level/--instance + log_client 级别过滤)
- argparse 新增 --host(别名 --addr)、--log-level、--instance - --log-level 经 logs.set_log_level() 真正订阅日志过滤 - log_client.py: 新增 _LOG_LEVELS/set_log_level()/_normalize_level() + push() 级别过滤 - 启动日志打印 instance/log-level 及配置来源说明 - services.yaml: smtp 声明 --instance 和 --log-level - 注: SMTP 账号走 .env/ENV(密码不进 CLI),与全项目约定一致
This commit is contained in:
1 parent
d0ee948339
commit
9fc3542771
3 files changed
+39
-2
No files matched your search
+12
-1
@@ -303,12 +303,23 @@ if __name__ == "__main__":
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(description="smtp — pymsg 邮箱验证码服务")
|
||||
parser.add_argument("--addr", default="127.0.0.1", help="监听地址")
|
||||
parser.add_argument("--addr", "--host", dest="addr", default="127.0.0.1",
|
||||
help="监听地址(--host 与 --addr 等价)")
|
||||
parser.add_argument("--port", type=int, default=8008, help="监听端口")
|
||||
parser.add_argument("--workers", type=int, default=4,
|
||||
help="回调并发线程数(0=同步串行模式)")
|
||||
parser.add_argument("--log-level", default="info",
|
||||
choices=["debug", "info", "warn", "error"],
|
||||
help="日志级别(默认 info)")
|
||||
parser.add_argument("--instance", default="smtp",
|
||||
help="实例名(注册中心用,默认 smtp)")
|
||||
args = parser.parse_args()
|
||||
|
||||
# 应用日志级别过滤(低于阈值的日志不进队列)
|
||||
logs.set_log_level(args.log_level)
|
||||
|
||||
print(f"[smtp] instance={args.instance} log-level={args.log_level}")
|
||||
print(f"[smtp] 配置来源: .env / ENV > 默认值(SMTP 账号不通过 CLI 传递)")
|
||||
server = SmtpServer(args.addr, args.port, workers=args.workers)
|
||||
try:
|
||||
server.start()
|
||||
|
||||
Reference in new issue
Block a user