← All packages

@lacspace/logger

v1.0.0Core Runtime Kit0 deps

A tiny structured logger for Node and the browser — leveled JSON logging, child loggers, field redaction and pluggable transports (JSON, pretty, in-memory). A log below the active level costs almost nothing: the record is never even built. Errors serialise automatically; secrets get redacted before they leave the logger. Zero-dependency, isomorphic.

npm i @lacspace/logger

Usage

logger.ts
import { createLogger } from "@lacspace/logger";

const log = createLogger({
  level: "info",
  bindings: { service: "api" },   // added to every line
  redact: ["password", "*.token"], // secrets never reach the logs
});

log.info("server started", { port: 3000 });
// {"level":"info","time":1700000000000,"msg":"server started","service":"api","port":3000}

// a per-request child logger inherits bindings + transports
const reqLog = log.child({ reqId: "abc123" });
reqLog.warn("slow query", { ms: 1200 });

// a log below the active level costs nothing — the record is never built
log.debug("skipped");

Exports 7

createLoggerjsonConsoleprettyConsolememoryserializeErrortoObjectLEVELS

Keywords

loggerloggingstructured-loggingjson-loggerchild-loggerredactionpino-alternativewinston-alternativeobservabilityisomorphiczero-dependency

More in Core Runtime Kit