控制台日志
调试用。console.* 调用累积到一个内存队列,主 App 编辑器的「日志」面板会展示。
接口
console.log("hello")
console.info("step 1")
console.warn("fallback used")
console.error("fetch failed:", err.message)
console.debug("intermediate:", obj)
5 个 level 都支持:log / info / warn / error / debug。
多参数 / 对象
任意个参数,对象自动 JSON.stringify(失败回退到 String(...)),参数之间空格拼接:
const user = { name: "Alice", age: 30 }
console.log("user =", user, "tags:", ["vip", "new"])
// → user = {"name":"Alice","age":30} tags: ["vip","new"]
null / undefined 显式打印成 "null" / "undefined"。
注意事项
单次 eval 上限 200 条
为防卡片侧 JS 误打日志撑爆内存,单次运行最多保留 200 条,超出部分静默丢弃。压力测试 / 性能问题排查请别 console.log in tight loop。
卡片侧也能打,但看不到
FormExtensionAbility 跑的 JS 也会累积 console.*,但卡片侧没有 UI 展示日志,只是写到 host 内存里。要看的话只能在主 App 编辑器里运行同一段代码复现。
异常会被自动捕获
JS 顶层 throw new Error(...) / await req.fetchJSON() 失败之类,Omni 主机侧会捕获并标记成 error 状态,异常信息也能在日志面板看到 —— 不必自己写 try { ... } catch (e) { console.error(e) } 就为了打个日志,只在你想兜底继续跑时才 try/catch。
速查
console.log(...args) // 普通
console.info(...args)
console.warn(...args)
console.error(...args)
console.debug(...args)
// 输出格式:对象 → JSON.stringify;null/undefined → 字面量;其它 → String()
// 上限:每次 eval 最多 200 条