Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 只需要在Cloudwatch中记录错误_Amazon Web Services_Logging_Amazon Dynamodb_Amazon Cloudwatch_Aws Lambda - Fatal编程技术网

Amazon web services 只需要在Cloudwatch中记录错误

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获得三行日志:开始、结束和报告。所有其他日志行都来自客户代码(或客户代码使用的模块),或者来自用户代码中未处理异常的堆栈跟踪,因此这取决于您的控制。您必须在代码中使用异常处理机制。如果代码中出现任何错误

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

每次调用都将从Lambda获得三行日志:开始、结束和报告。所有其他日志行都来自客户代码(或客户代码使用的模块),或者来自用户代码中未处理异常的堆栈跟踪,因此这取决于您的控制。

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

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

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

这是标准的log4j使用,与Lambda无关。一个更具体的Lambda问题可能是如何在不更改源代码的情况下控制日志记录。目前最好的解决方法是使用Lambda别名,这会很笨拙,但很快Lambda将支持环境变量作为函数配置的一部分,您可以使用它。

但它正在打印日志流中的所有连接语句,即使我只对catch块使用了log.error语句。如何配置为仅显示catch块中的错误。如果打印了所有其他语句,则很难存储如此多的日志,也很难对其进行调试。