I have deployed an app to IBM Cloud Code Engine. It has the minimum instances configured to zero, so truly serverless and only active on demand. Now I wanted to check the logs from the CLI with
ibmcloud ce app logs --name myapp --all
it comes back with this message:
FAILED No instances running for application 'myapp'. Verify that the application name is correct and it is running
How can I check the application logs after it has run?
The Code Engine application (and job) logs can be seen once Application Logging has been enabled. The logs are then available in a separate IBM Cloud Logging dashboard.
I also found this old blog post exlaining how to enable CLI access to those logs. After enabling it I was able to retrieve the app logs using my CLI / development environment.
Depending on what I am after, I am using one of these three lines to get to the log data / lines:
python3 searchLogDNA.py myconfig.json 12 "search term" | jq
for pretty printing, or
python3 searchLogDNA.py myconfig.json 12 "search term" | jq "._line"
to extract the actual log line from the record, or
python3 searchLogDNA.py myconfig.json 12 "search term" | jq "._line | fromjson`"
to turn the string with JSON data in the log line to actual JSON output.