如何为Alternate Runtime Gmail插件启用错误日志功能?
问题
我们有一个采用Alternate Runtime开发的Gmail插件。近期部分客户反馈出现“执行插件时出错”的提示。根据官方文档,该错误应显示在GCP日志资源管理器中,但我们的日志资源管理器完全为空。
已尝试操作
经查找,发现文档提到需在manifest中添加"exceptionLogging": "STACKDRIVER",配置。我们检查后发现确实缺少该字段,但添加时出现以下问题:

部署无法保存,提示:There was an error editing the deployment: the provided deployment is invalid.
疑问
如何为Alternate Runtime插件启用日志(尤其是错误日志)功能?
Alternate Runtime是否使用不同的manifest schema?该字段是否必需?未配置时是否默认使用STACKDRIVER?
解决方案
Manifest Schema差异说明
Alternate Runtime使用的manifest schema和传统Apps Script插件完全不同,exceptionLogging是传统插件的专属配置字段,不适用于Alternate Runtime环境,这就是添加该字段后部署报错的直接原因。启用错误日志的正确方法
Alternate Runtime插件的日志依赖你所使用的GCP部署服务(如Cloud Functions、Cloud Run)的原生日志体系:
- 若部署在Cloud Functions/Cloud Run上,这些服务默认会将日志同步到Cloud Logging(原Stackdriver),需确保:
- 部署所用的服务账号拥有
logging.logWriter权限 - 代码中主动捕获错误并通过
console.error()(或对应语言的日志库)输出错误信息
- 部署所用的服务账号拥有
- 检查GCP日志资源管理器的过滤规则:确认选择了正确的项目、目标服务(Cloud Functions/Cloud Run)以及日志级别,避免因过滤条件设置不当导致看不到错误日志。
- 默认日志行为
Alternate Runtime插件不会自动将未捕获错误默认发送到Cloud Logging,需要你在代码中显式处理并输出日志;但部署服务本身的系统日志(如启动失败、资源超限)会默认记录到Cloud Logging中。
内容的提问来源于stack exchange,提问作者Sandy Gifford
相关产品推荐
相关产品推荐

