context details AWS Lambda"/>
Logging additional context details AWS Lambda
我在 AWS lambda 上部署了一个复杂的 Web 应用程序。将有多个请求从同一个用户会话到达后端。
所以,为了从特定用户会话中获取所有日志,我计划在 sessionId cookie 前面加上日志,这样如果我使用 sessionId 值进行搜索,我就可以获取该用户会话的所有日志。
现在,我很困惑如何实现这个。以下部分说明了我的事件处理程序的简化形式。
exports.handler = async (event) => {
console.log('Request received at lambda: ', JSON.stringify(event));
doSomething();
return 'task completed';
};
function doSomething() {
// Several logic goes here
logger.info('task in progress'); // In this log, I want to prepend some value from the `event`, a cookie value in this case.
// Several logic goes here.
}
export const logger = console;
将
event
传递给 doSomething
不是一个选项,因为实际实现非常复杂,我们不能将事件传递给我们调用的所有函数。
创建一个全局变量来设置事件会导致并发问题。
按照建议检查一种方法
let globalEvent
exports.handler(event) {
globalEvent = event;
doSomething();
}
logger.info = function(params) {
console.log(globalEvent.param1, params)
}
回答如下:
更多推荐
Logging additional context details AWS Lambda
发布评论