自定义规则与函数

把重复的筛选和显示处理保存为规则。

三类规则

类型 用途 示例
过滤 缩小需要查看的内容范围 请求 ID、模块名、错误关键词
颜色 为匹配的文字增加视觉提示 错误级别、线程名
函数 处理日志的显示文本 添加文件名前缀

在侧栏相应标签中创建、编辑并启用规则。规则名称便于辨认,匹配内容或函数代码才决定行为。仅保存规则不会保证其已启用。

创建可复用的过滤规则

为一个明确的排查场景命名,例如「网络连接异常」,再填写表达式:

regex
timeout|ECONNRESET|connection refused

启用规则后,结合搜索结果检查是否得到预期内容。多个规则会影响最终搜索范围,发现结果过多时可以逐条关闭。

编写显示函数

函数编辑器中的代码应返回一个函数。该函数接收文件名、行索引和日志文本,并返回用于显示的字符串。

javascript
return function (file, line, log) {
  return '[' + file + ':' + (line + 1) + '] ' + log;
}

line 是传入的零起始索引,显示时可按需要加一。显示函数不会替代原始文件,也不会把修改写回磁盘。

保持函数简单

显示函数会对渲染的日志执行。建议保持为快速、无副作用的字符串处理,避免长循环或在每行进行高成本计算。

当前执行器会拒绝包含若干敏感 API 关键词的函数,包括 fetch、document、window、eval 等。它不是通用脚本执行环境,也不应被当作安全沙箱;只使用自己理解且可信的代码。

排查不生效的规则

  1. 确认当前工作区正确,规则已保存并启用。
  2. 检查正则语法,以及是否需要转义特殊字符。
  3. 暂时关闭其他规则,使用一条明确匹配的日志验证。
  4. 对函数检查是否返回函数、最终是否返回字符串,并查看浏览器控制台错误。
LogDog/读懂日志,找到线索。GitHub