如何为Apps Script插件函数分配Execution Type或隐藏Simple Triggers日志?
解决Apps Script执行日志过滤问题
方法1:用日志搜索排除Simple Trigger记录
这是最快捷的方式,无需修改代码:
- 在执行日志的搜索框中输入:
-ExecutionType:"Simple Trigger" - 该搜索语法会直接排除所有标记为Simple Trigger的执行记录,剩下的就是包括你的Unknown类型插件函数在内的其他日志。
方法2:将插件函数关联到Installable Triggers(解决Unknown类型问题)
如果希望插件函数能被系统识别为特定类型,可以把自定义函数绑定到Installable Triggers:
- 打开Apps Script编辑器,点击左侧「触发器」图标,添加新触发器
- 选择你的插件函数,根据实际触发场景设置对应事件(比如菜单点击对应「自定义菜单」触发)
- 保存后,该函数的执行记录会被标记为Installable Trigger,就能在Execution Type筛选列表中找到并勾选,同时可以单独排除Simple Trigger。
- 注意:Installable Triggers需要用户授权,插件发布时要做好权限说明。
方法3:添加自定义日志标记筛选
给所有插件函数添加统一的日志前缀,方便精准过滤:
- 在每个插件函数的开头添加日志:
console.log("[MY_PLUGIN] 执行函数:" + arguments.callee.name); - 在日志搜索框输入
[MY_PLUGIN],就能只显示你的插件函数执行记录,自动排除onOpen等无关日志。
方法4:用Apps Script API批量筛选日志(进阶)
如果需要批量处理或自动化筛选,可以借助Apps Script API:
- 启用Google Cloud项目中的「Apps Script API」
- 编写脚本调用
projects.executions.list接口,设置过滤条件filter="executionType != SIMPLE_TRIGGER",获取符合条件的日志记录。 - 示例代码片段:
function getFilteredLogs() { const projectId = "你的脚本项目ID"; const response = AppsScript.Projects.Executions.list(projectId, { filter: "executionType != SIMPLE_TRIGGER", pageSize: 100 }); console.log(response.executions); }
内容的提问来源于stack exchange,提问作者alsanmph
相关产品推荐
相关产品推荐

