Mirv 扩展调试日志怎么看
console.log() 去哪了
Mirv 用 QuickJS 引擎加载扩展。扩展里直接写 console.log("hello"),输出不会显示到扩展管理界面,也不会显示到 Mirv 的主界面——它去了 QuickJS 的标准输出,需要用专门的方式查看。
三种查看方式(按推荐程度排序)
方式一:Windows 客户端的开发者工具(推荐)
Mirv Windows 客户端内置了扩展调试日志查看器(如果你的版本有的话)。查看路径可能是:
- 扩展管理页面的"调试"按钮;
- 设置里的"扩展调试日志"入口;
- 某些版本会直接在扩展管理区显示日志面板。
不同版本位置不同,以实际界面为准。
方式二:命令行窗口启动(Windows)
某些 Windows 版本如果你从命令行(cmd / PowerShell)启动 Mirv:
& "$env:LOCALAPPDATA\miru\miru.exe"
扩展里的 console.log() 输出可能会打印到这个命令行窗口里(取决于 Mirv 当前版本的实现)。
方式三:Android 端用 adb logcat
在 Android 上开发扩展时,可以通过 adb 查看日志:
adb logcat | findstr /i miru
这会过滤出 Mirv 相关的所有日志,包括扩展里 console.log() 的输出。但要注意:Android 端调试体验确实比 Windows 端差,官方也是这么说的。
常见调试技巧
1. 在每个方法入口加日志
async search(kw, page) {
console.log(`[DEBUG] search called: kw=${kw}, page=${page}`);
// ...你的逻辑
}
这样你能知道 Mirv 到底有没有调用这个方法、传了什么参数。
2. 打印请求响应
const res = await this.request({ url: "/api/search", method: "GET" });
console.log(`[DEBUG] response: ${JSON.stringify(res).substring(0, 500)}`);
把 API 返回内容的前 500 个字符打印出来,快速确认请求有没有问题、返回格式对不对。
3. 用 return 尽早暴露问题
async watch(url) {
console.log(`[DEBUG] watch url=${url}`);
// 直接 return 假数据先测试渲染
return { type: "mp4", url: "https://test.example.com/test.mp4" };
}
先用假 return 值测试 Mirv 能不能正确渲染你的数据类型,确认格式没问题后再接真实逻辑。
4. 不要打太频繁的日志
console.log() 在 QuickJS 里是同步的。每个扩展的 watch()、detail() 可能在一次使用里被调用多次——大量日志会让调试窗口非常乱,也可能拖慢扩展运行。打完关键调试信息后记得删掉或注释掉。