a45c50ab7b11edd2993bec0c5024cc28e76bd84a
NewMockLogger/MockLogger move from the main `logging` package to a new `logging/logtest` sub-package, so the production `logging` package's import graph no longer pulls in testify — only consumers that import logtest do. testify stays in the module's go.mod (used by logtest and the library's own tests). Breaking import change for consumers: `logging.NewMockLogger` becomes `logtest.NewMockLogger`. The backend services that reference it are updated to the logtest import alongside their go.mod bump to this release. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
logging
Shared logging primitives for Shiny backend services.
SetupLogger(level, format, service, version)— configures the slog default logger (text / json / otel) and returns it.ContextWithLogger/LoggerFromContext— carry a logger on the context.NewMockLogger()— test helper for asserting log output.logging/middleware.RequestLogger(logger)— HTTP middleware that debug-logs request/response bodies.
Replaces the logging package (and the middleware request-logger) copied
into the backend services.
Description
Shared logging primitives (slog setup, context logger, mock logger, request-logger middleware) for Shiny services