Log Viewer
A streaming log viewer in the terminal look with level filters, text search with highlights, follow-tail with a new-lines pill, wrap, copy line and a DOM cap.
Preview
14:02:00.000INFapiGET /v1/invoices 200 in 42ms
14:02:00.190INFapiGET /v1/customers/c_8841 200 in 19ms
14:02:00.290DBGcachehit invoices:list:page=2 (ttl 54s)
14:02:00.480DBGauthtoken refreshed for session s_19f2
14:02:00.580INFapiPOST /v1/payments 201 in 118ms
14:02:00.770INFapiGET /health 200 in 2ms
14:02:00.870DBGdbpool: 7 active, 3 idle, 0 waiting
14:02:00.970WRNworker-1retrying webhook to https://hooks.example/acme in 30s
14:02:01.160WRNapislow query on customers.search took 1,284ms
14:02:01.260INFdeployrelease 2026.11.03-4 is live on 3 of 3 nodes
14:02:01.450INFapiGET /v1/customers/c_8841 200 in 19ms
14:02:01.550DBGcachehit invoices:list:page=2 (ttl 54s)
14:02:01.650DBGauthtoken refreshed for session s_19f2
14:02:01.840INFapiPOST /v1/payments 201 in 118ms
14:02:01.940ERRbillingcharge ch_2207 failed: card_declined (insufficient_funds)
14:02:02.130DBGdbpool: 7 active, 3 idle, 0 waiting
14:02:02.230WRNworker-1retrying webhook to https://hooks.example/acme in 30s
14:02:02.330WRNapislow query on customers.search took 1,284ms
14:02:02.520INFdeployrelease 2026.11.03-4 is live on 3 of 3 nodes
14:02:02.620INFworker-2job send-receipts done, 48 emails in 2.1s
14:02:02.810DBGcachehit invoices:list:page=2 (ttl 54s)
14:02:02.910DBGauthtoken refreshed for session s_19f2
14:02:03.100INFapiPOST /v1/payments 201 in 118ms
14:02:03.200ERRbillingcharge ch_2207 failed: card_declined (insufficient_funds)
14:02:03.300INFworker-2job send-receipts picked up (attempt 1)
14:02:03.490WRNworker-1retrying webhook to https://hooks.example/acme in 30s
14:02:03.590WRNapislow query on customers.search took 1,284ms
14:02:03.780INFdeployrelease 2026.11.03-4 is live on 3 of 3 nodes
14:02:03.880INFworker-2job send-receipts done, 48 emails in 2.1s
14:02:03.980INFapiGET /v1/invoices 200 in 42ms
14:02:04.170DBGauthtoken refreshed for session s_19f2
14:02:04.270INFapiPOST /v1/payments 201 in 118ms
14:02:04.460ERRbillingcharge ch_2207 failed: card_declined (insufficient_funds)
14:02:04.560INFworker-2job send-receipts picked up (attempt 1)
14:02:04.660INFapiGET /health 200 in 2ms
14:02:04.850WRNapislow query on customers.search took 1,284ms
Scroll up to pause following; new lines collect in the pill.
Install
Pro source requires Pebble Pro. Try the full preview above.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| lines | LogLine[] | — | { id, time, level: "debug" | "info" | "warn" | "error", source?, message }. Append to stream. |
| title | string | "Logs" | Toolbar title; also names the log. |
| maxLines | number | 500 | Most lines kept in the DOM (newest, after filtering). |
| defaultLevels | LogLevel[] | all four | Levels shown at start. |
| defaultFollow | boolean | true | Follow the tail at start. |
| defaultWrap | boolean | false | Wrap long lines at start. |
| onClear | () => void | — | Shows the Clear key. |
Pro component
Try the full preview above. Editable source and build guides require Pebble Pro.
