簡體   English   中英

AWS Cloudwatch Node.js 堆棧跟蹤打印在單獨的日志條目中

[英]AWS Cloudwatch Node.js stack trace printed in separate log entries

目前,當我的 Node.js 應用程序發生錯誤時,堆棧跟蹤中的每一行都會打印在單獨的日志條目中,如下所示:

在此處輸入圖像描述

對於單個錯誤,我該怎么做才能將其堆棧跟蹤打印在單個日志條目中?

我發現我們可以使用 V8 Stack Trace API: https://v8.dev/docs/stack-trace-api自定義堆棧跟蹤格式

因此,我們可以將其重新格式化為 JSON 字符串,而不是打印為\n分隔符,以便 Cloudwatch 將其解析為單個日志條目,如下所示:

Error.prepareStackTrace = (err, stack) => JSON.stringify({
  message: err.message,
  stack: stack.map(frame => ({
    file: frame.getFileName(),
    function: frame.getFunctionName(),
    column: frame.getColumnNumber(),
    line: frame.getLineNumber()
  }))
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM