Logging
CodeBlock DevKit treats observability as a default, not something you bolt on later. For each HTTP request, the stack records a continuous story: the request arriving (method, URL, headers, query, andâunless you mark an endpoint sensitiveâthe body), work flowing through the pipeline (including commands, queries, and domain events dispatched through IRequestDispatcher), and the response going out (status, timing, andâon API hosts where it appliesâresponse logging). You do not implement that pipeline yourself; it runs as part of the hosted web and API clients you build on the template.
What you control is mainly how much gets captured and where noise is tuned downâthrough Monitoring:Logging in each clientâs appsettings.json, plus optional attributes when a route or type must redact bodies or payloads (see Services and Tutorials).
While you develop locally, logs are written to the console with structured detail, so you can follow a single request in your terminal or IDE output without extra setup. In environments where the Monitoring module is enabled, the same log stream can also be exported to MongoDB and browsed from the Admin Panel alongside traces and metricsâbut that storage and UI layer belongs to the Monitoring module; this documentation stays focused on logging behavior and configuration.
Where to go next
- Configuration â The
Monitoringsection inappsettings(service identity andLoggingknobs such as minimum level and category filters). - Services â What is automatic versus what you opt into (
ILogger, redaction attributes, API response logging). - Tutorials â Copy-pastable patterns:
ILoggerin your types,[DoNotLog]on commands and DTOs, HTTP body/response markers, and pointers to related topics.