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 Antwort
0
Akzeptierte Antwort

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
EXPERTE
beantwortet vor 2 Monaten
profile picture
EXPERTE
überprüft vor 2 Monaten
profile picture
EXPERTE
überprüft vor 2 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen