runlot

Logs

Follow your worker's standard output and standard error in real time. Logs are not retained permanently today.

runlot logs

Press Ctrl-C to exit. When you connect, you first receive the most recent 200 lines, and after that new logs stream in live.

runlot logs --tail 1000        # how many lines to receive up front (max 2000)
runlot logs --no-follow        # print up to the most recent line and exit

How long logs are kept

Logs live only in a ring buffer in the node's memory. Each project keeps up to 2,000 lines or 1 MiB, whichever comes first, and the oldest logs are dropped once a limit is reached. Restarting the node agent (for example, when a release is deployed) also clears the buffer.

Permanent log retention is not supported today. For logs you need to keep, send them from your worker to a database or an external log collection service.

Dropped-line notices

If the terminal running runlot logs cannot consume the output fast enough, that subscription skips some log lines. This keeps a slow log subscriber from slowing down the project itself.

The number of skipped lines is reported as a notice event in the stream.

-- dropped 128 lines — this subscription could not keep up with the producer

This notice exists so you can tell the difference between "there were no logs" and "logs were skipped in transit".

Using it in a pipe

Stream termination notices are written to stderr.

runlot logs --no-follow | grep ERROR

Only the log lines your worker printed are passed to grep through the pipe.

Log entry size limit

Each log entry is at most 64 KiB. Longer output is truncated, and a marker indicating the truncation is included.

On this page