Skip to content

Documentation

Two ways to use this project. structured_log — and, optionally, an in-app log viewer — works entirely on its own, inside your app, with no server involved at all: see the Embedding Guide. Add the self-hosted, multi-tenant structured_log_server (plus structured_log_http, its client-side sender, and structured_log_admin_client, its web UI) only once you want those logs collected centrally, searchable, and shared across a team — that system is what the rest of this directory documents the design of.

Two kinds of reading are collected here, for two different readers. guides/ is task-oriented product documentation — one guide per audience, from embedding the packages standalone to running, extending, and contributing to the self-hosted system. Everything else here — architecture/, operations/, api/ — is reference documentation: how the system is built and why, for someone who wants to understand its design rather than just operate or integrate with it. Where the two overlap on a fact (an endpoint shape, a config flag), they should agree.

guides/:

  • Whoever wants structured_log — and, optionally, an in-app viewer — in their own app, with no server involved.
  • Someone signed in to the admin client, deploying the server, or writing code against the self-hosted system.
  • Whoever writes code in this repository, in any package.

See guides/README.md to pick the right one.

architecture/, operations/, api/:

  • Anyone who wants the reasoning behind a design decision, not just the end result — how the pieces fit together and why they’re shaped this way.
  • Reviewers checking whether an implementation matches the intended design.