【发布时间】:2021-02-17 07:35:22
【问题描述】:
我有以下代码,一个使用打印和日志记录的基本 lambda。
import json
import logging
def lambda_handler(event, context):
print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key3'])
print("Will it log?")
logger = logging.getLogger()
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
return event['key1'] # Echo back the first key value
我试图让它正确记录到 cloudwatch,但它只在传入测试值时输出,其他打印或日志语句均不输出。如果这是一个权限问题,我假设这不会在日志中打印任何内容?糊涂了!
输出:
START RequestId: a9aac29d-3e05-4bb0-baad-1e069fe60801 Version: $LATEST
value1 = Hello, Dave
value2 = value2
value3 = value3
END RequestId: a9aac29d-3e05-4bb0-baad-1e069fe60801
REPORT RequestId: a9aac29d-3e05-4bb0-baad-1e069fe60801 Duration: 1.37 ms Billed Duration: 2 ms Memory Size: 128 MB Max Memory Used: 49 MB
测试事件:
{
"key1": "Hello, Dave",
"key2": "value2",
"key3": "value3"
}
【问题讨论】:
-
您是 100% 生成该输出的代码吗?也许您没有部署最后的更改?尝试更改打印“
print("valueX ...”并验证输出更改 -
你用这个一针见血。由于某种原因,它没有部署。我推动了另一个部署,然后重新测试,日志按预期出现。感谢大家的帮助。
标签: python amazon-web-services logging aws-lambda