How does AWS App Runner decide which logs to persist to CloudWatch?

0

I searched the App runner config for the application but with no luck. I also read the docs here https://docs.aws.amazon.com/apprunner/latest/dg/monitor-cwl.html, but I can't seem to find the answer.

Our application has a mix of debug/info/error logs in this format:

{"level":"info","caller":"app/main.go:61","msg":"connecting to postgres database","version":""}

It seems that certain error logs of "level" : "error" are persisted to CloudWatch. However, not all of them are for some reason, and I don't know why.

For example I added this logline which triggers whenever any of our Handlers generate a 5xx

{"level":"error","caller":"api/routes.go:28","msg":"incoming request","version":"","uri":"/api/v1/users/profile","status":500,"method":"PUT","duration":"512ms","stacktrace":"<stacktrace>"}

But this never persists in CloudWatch for some reason

1回答
0
承認された回答

Hello.

I think the AppRunner logs that are output to standard output (/dev/stdout) and error output (/dev/stderr) are output to CloudWatch Logs.
In other words, I don't know what kind of container you are running, but there may be logs that are not being output to standard output.
I think it's a good idea to run the container locally and check that the logs are output to standard output.

profile picture
エキスパート
回答済み 2ヶ月前
profile picture
エキスパート
レビュー済み 2ヶ月前
profile picture
エキスパート
レビュー済み 2ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ