// log.dart — 桌面端统一日志出口。 // 格式: `[时:分:秒.毫秒] [tag] msg`,全部走 logLine(),便于排查时序。 // 注:sing-box 自身时间戳已在下发配置里关闭(log.timestamp=false), // 避免与这里的前缀重复打印两个时间。 // ignore_for_file: avoid_print String _ts() { final n = DateTime.now(); String p(int v, [int w = 2]) => v.toString().padLeft(w, '0'); return '${p(n.hour)}:${p(n.minute)}:${p(n.second)}.${p(n.millisecond, 3)}'; } /// 打印一行带时间戳与标签的桌面端日志。 void logLine(String tag, String msg) => print('[${_ts()}] [$tag] $msg');