在 AWS cloudwatch 中记录我的 java 服务的异常
Logging exception of my java service in AWS cloudwatch
我必须在 AWS cloud-watch
中记录我的 java 服务中发生的异常
这是我的示例服务
@GetMapping(value = "/GetUrl")
public String getURL(String key) throws FileNotFoundException
{
try {
return S3client.getUrl("xxxx", "xxxx.pdf").toString();
}
catch (AmazonS3Exception exception){
if(exception.getStatusCode() == 404){
throw new FileNotFoundException(key);
}
else{
throw exception;
}
}
}
如果我的 catch 块执行而不是抛出异常,则必须调用 class 文件以在 AWS cloudwatch
中记录异常
如何实现这个功能?
我的 java 服务将部署在 AWS 实例 docker 容器中
此外,如果有人有更好的想法以其他方式实现此功能,请提出建议
通常您只需使用标准 Java 日志工具记录到本地日志文件,主机上配置的 CloudWatch Logs Agent 会定期将这些日志消息发送到 CloudWatch Logs。
但是,如果您想直接从您的应用程序代码将日志发送到 CloudWatch Logs,您可以使用 AWS SDK 中的 CloudWatchLogsClient for Java。
我必须在 AWS cloud-watch
中记录我的 java 服务中发生的异常这是我的示例服务
@GetMapping(value = "/GetUrl")
public String getURL(String key) throws FileNotFoundException
{
try {
return S3client.getUrl("xxxx", "xxxx.pdf").toString();
}
catch (AmazonS3Exception exception){
if(exception.getStatusCode() == 404){
throw new FileNotFoundException(key);
}
else{
throw exception;
}
}
}
如果我的 catch 块执行而不是抛出异常,则必须调用 class 文件以在 AWS cloudwatch
中记录异常如何实现这个功能?
我的 java 服务将部署在 AWS 实例 docker 容器中
此外,如果有人有更好的想法以其他方式实现此功能,请提出建议
通常您只需使用标准 Java 日志工具记录到本地日志文件,主机上配置的 CloudWatch Logs Agent 会定期将这些日志消息发送到 CloudWatch Logs。
但是,如果您想直接从您的应用程序代码将日志发送到 CloudWatch Logs,您可以使用 AWS SDK 中的 CloudWatchLogsClient for Java。