max*_*ime 6 amazon-cloudwatch typescript aws-lambda
我正在使用 AWS Lambda 和ESBuild构建的 Typescript
ESBuild 将所有必要的代码聚合在一个 index.js 构建文件中,这使得冷启动非常快,并确保不会发送不必要的代码。它还可以生成源映射。
您知道如何让Cloudwatch 了解源映射,以便获取与我的实际源代码而不是构建相关的堆栈跟踪吗?
max*_*ime 11
我在这里找到了答案:NodeJS 支持源映射,Lambda 支持节点选项。
在 Typescript 上生成源映射,然后将此环境变量添加到 lambda:
NODE_OPTIONS=--enable-source-maps
Run Code Online (Sandbox Code Playgroud)
现在,当记录堆栈跟踪时,它指向原始文件和行
{
"errorType": "Error",
"errorMessage": "Missing process.env.TABLE_EVENT",
"trace": [
"Error: Missing process.env.TABLE_EVENT",
" at /var/task/index.js:12496:11",
" -> /backend/service/userService/lib/dynamodb.js:6:9",
" at /var/task/index.js:4:5",
" at /var/task/index.js:16979:18",
" -> /backend/service/userService/lib/handlers/publishReminders.js:4:26",
" at /var/task/index.js:4:5",
" at /var/task/index.js:17121:33",
" -> /backend/service/userService/lib/handlers/index.js:1:43",
" at /var/task/index.js:4:5",
" at Object.<anonymous> (/var/task/index.js:17136:16)",
" -> /backend/service/userService/lib/index.js:16:26",
" at Module._compile (internal/modules/cjs/loader.js:999:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)",
" at Module.load (internal/modules/cjs/loader.js:863:32)"
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1749 次 |
| 最近记录: |