a month ago
When I go to the Observability section in the dashboard the "Error logs" section has lines like:
>2026-04-23 15:58:15.044 UTC [30] LOG: checkpoint starting: time
>2026-04-23 16:01:29.314 UTC [30] LOG: checkpoint complete: wrote 1086 buffers (6.6%), wrote 2 SLRU buffers; 0 WAL file(s) added, 2 removed, 0 recycled; write=194.241 s, sync=0.005 s, total=194.271 s; sync files=116, longest=0.002 s, average=0.001 s; distance=36498 kB, estimate=81578 kB; lsn=2/D3DE6508, redo lsn=2/D1DD6C78
These are not errors so why are they showing up in the "Error logs" section?
2 Replies
a month ago
Our logging system automatically converts all output sent to stderr to level.error, and PostgreSQL sends all its log messages (including normal informational ones like checkpoint logs) to stderr by default. This is why those routine WAL checkpoint entries appear in the "Error logs" section. You can filter them out in the Log Explorer using a filter like -"checkpoint" or by using structured logging conventions where possible.
Status changed to Awaiting User Response Railway • 29 days ago
Railway
Our logging system automatically converts all output sent to stderr to `level.error`, and PostgreSQL sends all its log messages (including normal informational ones like checkpoint logs) to stderr by default. This is why those routine WAL checkpoint entries appear in the "Error logs" section. You can filter them out in the Log Explorer using a filter like `-"checkpoint"` or by using [structured logging](https://docs.railway.com/observability/logs#structured-logs) conventions where possible.
a month ago
OK I don't think I can configure Postgres to emit structured logs. I will use the workaround for now.
Status changed to Awaiting Railway Response Railway • 29 days ago
Status changed to Solved Railway • 29 days ago