@@ -183,7 +183,8 @@ export interface ToolkitPlugin {
183183```
184184
185185** Built-in plugins:**
186- - ** observability** - Pino logger, metrics (Prometheus), request IDs
186+ - ** logger** - Pino logger with pretty printing, HTTP request logging, child logger factory
187+ - ** observability** - Metrics (Prometheus), request IDs, health checks
187188- ** security** - Helmet, CORS, rate limiting
188189- ** cache** - Redis/memory caching with middleware
189190- ** magic** - MagicRouter, OpenAPI generation, response validation
@@ -250,7 +251,7 @@ export const create = async (data: CreateInput) => {
250251- Services throw errors with ` statusCode ` property for HTTP status codes
251252- Controllers decide how to handle null returns
252253- Never import Express types (Request/Response) in services
253- - Use logger from ` @/plugins/observability/ logger `
254+ - Use logger from ` @/plugins/logger `
254255
255256### File Uploads with Formidable
256257
@@ -356,7 +357,7 @@ This scaffolds all 6 files following project patterns. After generation:
356357TypeScript paths configured in ` tsconfig.json ` :
357358- ` @/* ` resolves to ` ./src/* `
358359
359- Example: ` import { logger } from '@/plugins/observability/ logger' `
360+ Example: ` import { logger } from '@/plugins/logger' `
360361
361362### MongoDB ID Validation
362363
@@ -423,6 +424,7 @@ Models are introspected and rendered with full CRUD. Configure admin access in `
423424- ` src/lib/storage.ts ` - S3/R2/local file storage
424425- ` src/lib/queue.ts ` - BullMQ queue configuration
425426- ` src/email/email.service.ts ` - Email sending (SMTP/Resend/Mailgun)
427+ - ` src/plugins/logger/index.ts ` - Logger plugin with Pino, HTTP logging, child logger factory
426428- ` src/plugins/magic/router.ts ` - MagicRouter implementation
427429- ` src/plugins/magic/response.builders.ts ` - Response schema builders (R.success, etc.)
428430- ` src/middlewares/can-access.ts ` - JWT authentication middleware
0 commit comments