Groundfloor Docs

Logs and troubleshooting

See your Coderunner's output and errors, and fix the most common problems.

Everything your code writes to standard output or standard error — console.log, print, Console.WriteLine and so on — goes to the Process Log. Start there whenever something doesn't behave.

Read the Process Log

Open it

Go to Observe → Process Log, and pick the workspace at the top of the page. A Coderunner's page links straight to its own log.

Narrow it down

Filter by app, by Coderunner, by text, and by time — from the last 5 minutes up to the last 24 hours.

Watch it live

Turn on Auto-refresh to fetch new lines every 5 seconds, or use Refresh.

gf coderunner logs -c greeter                        # the last 50 lines from the past hour
gf coderunner logs -c greeter --search "error"       # only lines containing "error"
gf coderunner logs -c greeter --since-seconds 600 --limit 200

Anyone who can view the workspace can read its Process Log.

Runs of Functions and Jobs

Each run is recorded as an execution, with its status and, for a failed run, the error. List them with the API: GET https://platform.groundfloor.cloud/v1/workspaces/{workspace_id}/executions. For a Schedule, gf coderunner status -c <name> shows how the last run went.

Common problems

ProblemLikely causeWhat to do
gf deploy stops before uploading a Node.js Servicepackage.json has no start scriptAdd a start script that runs your server, for example "scripts": { "start": "node server.js" }
The build failsA missing or misnamed file, or a dependency that won't installCheck that your files sit at the root of the ZIP, not in a folder, with the names your language expects
A Service's deployment failsThe container doesn't answer on its portListen on 8080 or PORT, and bind to 0.0.0.0, not 127.0.0.1
A Job finishes as FailedAn error escaped your handlerFind the error in the Process Log or the execution, and fix it or catch it
Calling a Function returns 401The token is missing or expiredSend Authorization: Bearer <token>; gf token and M2M tokens expire, so get a fresh one
Reading a secret returns 403The M2M client can't read secretsTurn on Read secrets for the client and deploy again. See Configuration and secrets
Getting an M2M token returns 429A new token is requested too oftenReuse each token until shortly before it expires
The Process Log is emptyThe wrong workspace is selected, or your code printed nothingCheck the workspace picker and the time range, and add logging

Next steps

On this page