Printf语句不能在lambda上工作

我试图用node.js创build一个lambda函数 w用C代码编写代码,并使用node-gyp将其转换为节点库。 lambda函数完美的工作。 但是它仅打印node.js console.log语句。

这是我的node.js代码

'use strict'; console.log('Loading function'); exports.handler = (event, context, callback) => { var addon = require('./build/Release/testLibraryfromCcode'); addon.sayHello(); console.log("Completed"); } 

这是我的C代码

 int sayHello() { printf("Haaaaaaaaaaaaai\n"); fflush(stdout); return 0; } 

我从lambdatesting控制台得到这样的输出

  TART RequestId: 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Version: $LATEST 2016-06-08T06:21:32.779Z 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Loading function 2016-06-08T06:21:32.779Z 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Completed 

Haaaaai打印缺失。 我需要在我的C代码中打印printf语句。 如果有任何想法?

此代码正在工作。 fflush(stdout)可以打印。

 int sayHello() { printf("Haaaaaaaaaaaaai\n"); fflush(stdout); return 0; } 

但是,aws lamda无法在Web控制台上直接打印库打印。 我们需要安装awslogs来清理完整的日志。

  1. 安装awslogs

    sudo pip安装awslogs

  2. 为Waching日志。

    awslogs get / aws / lambda / lambdaFunctionName –start =“3h”