Utilities
Logger
Enterprise-grade structured logging (JSON).
Logger
A robust logging middleware that replaces the default console logger with structured JSON output (NDJSON) suitable for production (Datadog, CloudWatch), while keeping pretty logs for development.
Installation
bun add @bklarjs/loggernpm install @bklarjs/loggerUsage
Recommended: Disable the default logger and use this package instead.
import { Bklar } from "bklar";
import { logger } from "@bklarjs/logger";
const app = Bklar({ logger: false }); // 1. Disable built-in logger
app.use(logger()); // 2. Enable structured logger
app.get("/", (ctx) => {
// Use context logger (includes Request ID)
ctx.logger.info("Processing request...");
return ctx.text("ok");
});Features
- Request ID: Automatically generates or propagates
X-Request-Id. - Redaction: Hides sensitive keys (
password,token) automatically. - Context Injection:
ctx.loggeris pre-configured with current request metadata.
Configuration
app.use(
logger({
// Force JSON even in development
format: "json",
// Custom keys to redact
redact: ["ssn", "credit_card"],
// Minimum log level
level: "warn",
})
);