Log fx through slog, snake_case health check keys (closes #27)
check / check (push) Successful in 3m40s
check / check (push) Successful in 3m40s
fx wrote its own steps of starting and stopping as plain text to stderr. It now logs them with its own slog event logger through the backend's logger, so off a terminal every line from start to stop is JSON. A config file that is found but cannot be read now makes config.New return the error instead of panicking. A test runs the server as a child process and checks that all it writes is JSON, on a normal start and stop and with such a config file. The backend logs its name, version and architecture once at start. The health check's uptime keys are now uptime_seconds and uptime_human, and its type and method take the names GO_HTTP_SERVER_CONVENTIONS.md gives. Its path, content type, status and code are unchanged. Model: opus-5-5
This commit is contained in:
@@ -23,6 +23,17 @@ latest run passes.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-03: the backend's logs are one stream (issue #27): fx logs its own
|
||||
steps of starting and stopping through the backend's logger, so off a terminal
|
||||
every line from start to stop is JSON, where fx used to write plain text to
|
||||
stderr. A config file that is found but cannot be read now stops the start
|
||||
with its error, logged as JSON like a bad setting, where it used to end in a
|
||||
Go panic. A test runs the server as a child process and checks both. The
|
||||
backend logs its name, version and architecture once at start. The health
|
||||
check's uptime keys are now `uptime_seconds` and `uptime_human`; its path,
|
||||
content type, `"status":"ok"` and 200 are unchanged. `SENTRY_DSN`,
|
||||
`METRICS_USERNAME` and `METRICS_PASSWORD` are still read and still unused, and
|
||||
left out of `backend/README.md`, until issues #94 and #95 wire them up
|
||||
- 2026-10-03: the frontend has a real linter (issue #47, and item 2 of issue
|
||||
#28): `eslint` with its recommended rules, set in `eslint.config.js`, runs in
|
||||
a new `frontend-lint` stage of `Dockerfile`, which the frontend stage waits
|
||||
|
||||
Reference in New Issue
Block a user