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 Answer
0
Accepted Answer

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
EXPERT
answered a month ago
profile picture
EXPERT
reviewed a month ago
profile picture
EXPERT
reviewed a month ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions