Skip to content

createLogger

createLogger(config?): Logger

Defined in: create-logger.ts:133

Create a structured logger.

The logger fans out every record to all configured transports. Transports run independently — one slow or failing transport never blocks the others and never propagates errors to the caller. Pass onTransportError to be notified when a transport throws or rejects.

LoggerConfig = {}

Logger

import { createLogger } from "@arshad-shah/log-kit";
const log = createLogger({ level: "info" });
log.info("Server started", { port: 3000 });
import { createLogger } from "@arshad-shah/log-kit";
import { consoleTransport } from "@arshad-shah/log-kit/transports/console";
import { httpTransport } from "@arshad-shah/log-kit/transports/http";
const log = createLogger({
level: "info",
transports: [
consoleTransport({ pretty: true }),
httpTransport({ url: "https://logs.example.com/ingest" }),
],
onTransportError: (err, info) => {
console.error(`[log-kit] ${info.transport} ${info.op} failed`, err);
},
});
const root = createLogger({ scope: "app" });
const manifest = root.child("manifest"); // scope: "app:manifest"
manifest.info("written");
const end = log.mark("db.query");
const rows = await db.query(sql);
const ms = end({ rowCount: rows.length }); // logs and returns the duration