docs: add paste service to Workflow; clarify app-log vs stdout in Deploy

- Workflow: paste.rethinkstudios.io pastebin section — pb() function
  (recommended) + alias alternative in content tabs, usage, expires note,
  creation rate-limit warning.
- Deploy: warning admonition distinguishing ${LOGS_DIR} (app logger, to
  disk) from container stdout/stderr where startup crashes and uncaught
  exceptions land; sys.excepthook snippet to route them into the log file.

Signed-off-by: disqualifier <dev@disqualifier.me>
This commit is contained in:
2026-07-09 22:13:59 -04:00
parent 350884c2b3
commit 6151cb2e4e
2 changed files with 60 additions and 0 deletions
+15
View File
@@ -85,6 +85,21 @@ flowchart LR
create the dir; you **uncomment** the line and pick the container path.
- **Named volumes** (`cache`, …) — yours; Docker owns them, no host paths to manage.
!!! warning "Two kinds of logs — and crashes go to the other one"
`${LOGS_DIR}` holds **only** what your app writes to disk through its logger
(e.g. `log_setup` writing a file) — your own structured logging. It does **not**
capture the process's stdout/stderr, and that's where **startup crashes and
uncaught exceptions land** — a traceback from a failed import or a missing file
never reaches your logger. So if a service dies on startup, or you don't see the
error in your log files, it's in the process output, not `${LOGS_DIR}`. Make
fatal errors visible — and to route uncaught exceptions into your log file too,
install a top-level hook:
```python
import sys, logging
sys.excepthook = lambda *exc: logging.getLogger().critical("uncaught", exc_info=exc)
```
!!! success "Same file, both places"
Locally, `docker compose up` needs nothing set — the `${VAR:-./default}`
fallbacks use `./logs` / `./config`. When deployed, the ops tooling sets the