初始化项目 v2.0:中国邮政揽收系统自动填单工具
基于 HTTP API + Node.js token bridge 方案,不依赖浏览器自动化。
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"""统一日志控制 — 编译前修改 LEVEL 控制输出量。
|
||||
|
||||
等级:
|
||||
0 = 用户级:只显示处理结果和错误
|
||||
1 = 调试级:显示所有步骤细节
|
||||
2 = 追踪级:显示 API 请求/响应内容
|
||||
"""
|
||||
|
||||
import sys
|
||||
from datetime import datetime
|
||||
|
||||
LEVEL = 2 # 编译时修改此值
|
||||
|
||||
_gui_callback = None # GUI 注册的回调: (msg: str) -> None
|
||||
|
||||
|
||||
def set_gui_callback(cb):
|
||||
"""注册 GUI 日志回调,所有日志同步输出到 GUI。"""
|
||||
global _gui_callback
|
||||
_gui_callback = cb
|
||||
|
||||
|
||||
def _fmt(msg: str) -> str:
|
||||
return f"[{datetime.now().strftime('%H:%M:%S.%f')[:-3]}] {msg}"
|
||||
|
||||
|
||||
def _emit(msg: str):
|
||||
print(_fmt(msg), file=sys.stderr)
|
||||
if _gui_callback:
|
||||
_gui_callback(msg)
|
||||
|
||||
|
||||
def user(msg: str):
|
||||
_emit(msg)
|
||||
|
||||
|
||||
def debug(msg: str):
|
||||
if LEVEL >= 1:
|
||||
_emit(msg)
|
||||
|
||||
|
||||
def trace(msg: str):
|
||||
if LEVEL >= 2:
|
||||
_emit(f"[trace] {msg}")
|
||||
Reference in New Issue
Block a user