在本地运行 Lambda 函数时,AWS Lambda 运行环境不会记录所有输出。这可能会使您在问题排查期间感到困惑。为了记录所有输出,您可以使用以下方法之一:
使用本地 Lambda 测试框架,例如 SAM Local 或 AWS Toolkit for Visual Studio。这些框架提供了记录 Lambda 函数输出的选项。
示例代码(使用 SAM Local):
sam local invoke YourFunction --no-event --debug
使用日志记录库,如 log4net 或 log4j。使用这些库,您可以通过在代码中记录输出来捕获 Lambda 输出。
示例代码(使用 log4net):
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(YourFunction);
public void Handler(ILambdaContext context)
{
log.Info("This is an info message.");
log.Debug("This is a debug message.");
}
无论使用哪种方法,您都可以在本地运行 Lambda 函数时捕获其所有输出,以便更轻松地进行问题排查。