需要在Cloudwatch中仅记录错误

时间:2016-10-12 11:42:37

标签: amazon-web-services logging amazon-dynamodb amazon-cloudwatch aws-lambda

我正在使用Lambda函数来填充Dynamo DB。我需要在cloudwatch中记录事件详细信息,以便在发生某些事件时知道异常。我能够为lambda函数配置cloudwatch日志,但它显示了导致不需要的日志记录的其他调试语句。有没有办法配置它。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

每次调用都会从Lambda获得三个日志行:START,END和REPORT。所有其他日志行来自客户代码(或客户代码使用的模块),或来自用户代码中未处理异常的堆栈跟踪,因此您可以控制它。

答案 1 :(得分:0)

您必须在代码中使用异常处理机制。如果您的代码中发生任何错误,那么应该运行catch块,并且您可以使用 stacktrace 方法来跟踪错误。堆栈跟踪方法可以在不同语言中不同。 对于Cloudwatch日志,您可以根据语言使用简单的控制台输出方法。

答案 2 :(得分:0)

好吧,我想我误解了你的问题。显然(来自你的评论)你正在使用log4j。设置log4j日志记录级别的方法是:

logger = Logger.getRootLogger();  // or Logger.getLogger("com.foo");
logger.setLevel(Level.ERROR);

这是标准的log4j使用,无论Lambda如何。更具Lambda特定的问题可能是如何在不更改源代码的情况下控制日志记录。目前最好的答案是使用Lambda别名,这将是笨拙的,但很快Lambda将支持环境变量作为功能配置的一部分,你可以使用它。