npx skills add ...
npx skills add cloudflare/sandbox-sdk --skill logging
npx skills add cloudflare/sandbox-sdk --skill logging
Use when adding logs, debugging, or working with the Logger across the SDK and container runtime. Covers the constructor-injection pattern, child loggers, env-var configuration, and test mocking. (project)
Loggers are passed explicitly via constructor injection throughout the codebase. There is no global/ambient logger.
Use logger.child({ ... }) to attach structured context that will appear on every log line from that child. Prefer child loggers at the boundary of a unit of work (request, operation, session) rather than re-passing context on every call.
Two environment variables, both read once at startup:
| Var | Values | Purpose |
|---|---|---|
SANDBOX_LOG_LEVEL | debug | info | warn | error | Minimum level emitted |
SANDBOX_LOG_FORMAT | json | pretty | Output format |
Use json in production (machine-parseable) and pretty for local dev.
Use createNoOpLogger() from @repo/shared to silence logging in tests:
Don't construct real loggers in unit tests — they add noise and can mask real failures with log output.
logger.error('Failed', { err })import { createNoOpLogger } from '@repo/shared';
const service = new MyService(createNoOpLogger());