Amazon web services 只需要在Cloudwatch中记录错误
我使用Lambda函数填充Dynamo DB。我需要在cloudwatch中记录事件详细信息,以便在发生异常时了解异常情况。我能够为lambda函数配置cloudwatch日志,但它显示了导致不需要的日志记录的其他调试语句。是否有任何方法来配置。如有任何帮助,将不胜感激 每次调用都将从Lambda获得三行日志:开始、结束和报告。所有其他日志行都来自客户代码(或客户代码使用的模块),或者来自用户代码中未处理异常的堆栈跟踪,因此这取决于您的控制。您必须在代码中使用异常处理机制。如果代码中出现任何错误,则应运行catch块,并在那里使用stacktrace方法跟踪错误。堆栈跟踪方法在不同语言中可能不同。Amazon web services 只需要在Cloudwatch中记录错误,amazon-web-services,logging,amazon-dynamodb,amazon-cloudwatch,aws-lambda,Amazon Web Services,Logging,Amazon Dynamodb,Amazon Cloudwatch,Aws Lambda,我使用Lambda函数填充Dynamo DB。我需要在cloudwatch中记录事件详细信息,以便在发生异常时了解异常情况。我能够为lambda函数配置cloudwatch日志,但它显示了导致不需要的日志记录的其他调试语句。是否有任何方法来配置。如有任何帮助,将不胜感激 每次调用都将从Lambda获得三行日志:开始、结束和报告。所有其他日志行都来自客户代码(或客户代码使用的模块),或者来自用户代码中未处理异常的堆栈跟踪,因此这取决于您的控制。您必须在代码中使用异常处理机制。如果代码中出现任何错误
对于Cloudwatch日志,您可以根据语言使用简单的控制台输出方法。好的,我想我误解了您的问题。显然(从你的评论中)你正在使用log4j。设置log4j日志记录级别的方法是:
logger = Logger.getRootLogger(); // or Logger.getLogger("com.foo");
logger.setLevel(Level.ERROR);
这是标准的log4j使用,与Lambda无关。一个更具体的Lambda问题可能是如何在不更改源代码的情况下控制日志记录。目前最好的解决方法是使用Lambda别名,这会很笨拙,但很快Lambda将支持环境变量作为函数配置的一部分,您可以使用它。但它正在打印日志流中的所有连接语句,即使我只对catch块使用了log.error语句。如何配置为仅显示catch块中的错误。如果打印了所有其他语句,则很难存储如此多的日志,也很难对其进行调试。