我们使用winston npm为我们的nodejs应用程序创建了一个自定义记录器。在此自定义记录器中,我们将使用以下代码创建记录位置。
const LOG_LOCATION = `${__dirname}/../logs`;
if (!fs.existsSync(LOG_LOCATION)) {
fs.mkdirSync(LOG_LOCATION);
}
我只是想知道日志位置创建是否将在无服务器环境(lambda)中工作?
谢谢
答案 0 :(得分:4)
它在lambda中不起作用。由于Lambda中的唯一可写位置为 / tmp 。其余目录是只读的。
日志会自动处理,将它们发送到日志分发系统Cloudwatch。
答案 1 :(得分:3)
如果您在AWS Lambda中运行Javascript和Node.js,则应使用console对象。
一些例子:
.fill {
background-image: url('blah.jpg');
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}
Lambda平台将自动提取所有输出到console.log('A custom log message here')
try {
something_will_go_wrong()
} catch(err) {
console.error(err)
}
并将其通过管道传输到CloudWatch Logs Stream。您以后可以在CloudWatch控制台中检查日志,或使用Dashbird之类的专用工具来接收警报并调查与Lambda使用的其他服务(例如S3或DynamoDB)有关的错误。