如果我在我的代碼中使用console.log('message')
,它會在Cloudwatch中顯示爲
2017-03-16T18:58:21.823Z 863c835c-0a7a-11e7-9140-e5018d6e5029 message
。從Lambda(Node.js)更改Cloudwatch日誌的日誌格式
是否有任何方法可以刪除自動格式設置,以便Cloudwatch只顯示我傳遞給console.log
的參數?
如果我在我的代碼中使用console.log('message')
,它會在Cloudwatch中顯示爲
2017-03-16T18:58:21.823Z 863c835c-0a7a-11e7-9140-e5018d6e5029 message
。從Lambda(Node.js)更改Cloudwatch日誌的日誌格式
是否有任何方法可以刪除自動格式設置,以便Cloudwatch只顯示我傳遞給console.log
的參數?
內部處理程序可以覆蓋console.log
直接寫入到stdout
:
var util = require('util')
module.exports.handler = function (event, context, done) {
console.log = function() {
var args = Array.prototype.slice.call(arguments)
process.stdout.write(args.map(function (arg) {
return util.isPrimitive(arg) ? String(arg) : util.inspect(arg)
}).join(' '))
}
// the rest of your handler...
}
什麼「自動格式化你指的是每個LAMBDA日誌消息被換成了一個時間戳和拉姆達調用ID沒有這些信息?日誌會是一團糟 –
這是自動格式化,請求ID很容易被減少到更少的字符,可以在時間,請求ID和消息之間添加分隔符,以便更容易解析...你知道嗎如何修復它? – maniciam