peter
5e208353e3
feat(diagnostics): admin query API over the stored log
...
GET /api/admin/logs pages `log_events` newest first on a (ts, id) keyset:
a browser row's ts is clamped into its consent window, so ts alone is not
unique. Filters AND together: level, source, account (or `none`), event
code (or `none`), request id, job id, a free-text search over the
message, code, request id, stack and attributes (typed text is a literal),
and a time window. Each page names the accounts it mentions.
GET /api/admin/logs/facets counts what the filter chips offer over the
window alone, so a chip row does not shrink as filters are picked.
Admin-only and read-only; reading is not audited (the console's live tail
polls). There is deliberately no "ids after N" tail: several processes
write this table and a batch takes its ids at insert, not at commit, so a
tail keyed on ids could pass a row that commits late.
2026-09-19 01:40:46 +02:00
..
2026-09-17 01:44:29 +02:00
2026-09-18 01:20:42 +02:00
2026-09-05 04:02:57 +02:00
2026-09-16 04:29:13 +02:00
2026-09-02 00:15:21 +02:00
2026-09-19 01:40:46 +02:00
2026-09-04 22:42:15 +02:00
2026-09-15 02:53:22 +02:00
2026-08-27 04:02:25 +02:00
2026-09-18 03:16:15 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-17 02:42:12 +02:00
2026-09-17 23:45:16 +02:00
2026-09-09 00:12:53 +02:00
2026-09-16 04:29:13 +02:00
2026-08-28 02:37:56 +02:00
2026-09-16 03:43:29 +02:00
2026-09-18 23:44:42 +02:00
2026-09-14 01:42:57 +02:00
2026-09-05 04:18:33 +02:00
2026-08-30 03:32:14 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-04 20:29:33 +02:00
2026-09-05 01:35:09 +02:00
2026-09-04 20:29:33 +02:00
2026-09-14 00:50:05 +02:00
2026-09-18 23:44:42 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-26 05:25:47 +02:00
2026-08-23 07:43:06 +02:00
2026-09-17 00:38:46 +02:00
2026-09-15 00:53:15 +02:00
2026-08-28 02:37:56 +02:00
2026-09-12 03:57:52 +02:00
2026-09-16 00:34:50 +02:00
2026-09-19 01:33:32 +02:00
2026-08-29 08:02:11 +02:00
2026-09-18 22:50:37 +02:00
2026-09-18 03:16:15 +02:00
2026-09-04 01:56:55 +02:00
2026-09-18 23:44:42 +02:00
2026-09-18 22:50:37 +02:00
2026-09-04 22:42:15 +02:00
2026-09-01 23:31:49 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-12 05:50:31 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-29 03:52:13 +02:00
2026-09-11 18:05:19 +02:00
2026-08-20 08:50:47 +02:00
2026-09-09 23:55:51 +02:00
2026-09-10 22:05:39 +02:00
2026-09-11 23:27:48 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-12 16:21:37 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-27 02:50:41 +02:00
2026-09-06 03:31:02 +02:00
2026-08-23 07:43:06 +02:00
2026-09-06 03:31:02 +02:00
2026-08-30 17:58:38 +02:00
2026-09-12 03:57:52 +02:00
2026-08-23 07:43:06 +02:00
2026-09-10 20:02:06 +02:00
2026-09-11 18:04:30 +02:00
2026-09-12 04:18:35 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-28 01:34:02 +02:00
2026-09-11 18:05:30 +02:00
2026-09-15 02:53:22 +02:00
2026-08-23 07:43:06 +02:00
2026-09-15 02:25:00 +02:00
2026-08-23 07:43:06 +02:00
2026-09-04 02:38:01 +02:00
2026-09-04 23:04:09 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-05 01:46:58 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-18 01:20:42 +02:00
2026-09-17 00:20:14 +02:00
2026-09-17 00:03:56 +02:00
2026-08-26 05:25:47 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-13 23:12:16 +02:00
2026-09-05 04:02:57 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-04 20:29:33 +02:00
2026-09-18 22:50:37 +02:00
2026-09-18 23:44:42 +02:00