Complete technical reference for ZTracer.
import ZTracer from "z-tracer-kit";
const logger = new ZTracer(config);
All logging functionality is accessed through an instance of ZTracer.
interface ZTracerConfig<T extends string> {
global: {
debug: boolean;
callBack?: ZTracerCallBack<T>;
};
groups?: ZTracerGroups<T>;
}
ZTracerGroup (background, color, callBack).See Core Concepts for usage examples.
log(data: unknown, options?: ZTracerOptions<T>): Promise<void>Logs arbitrary data.
await logger.log("Hello", { group: "api" });
fromJson(data: object | unknown[], options?: ZTracerOptions<T>): Promise<void>Logs structured data. Arrays → tables; objects → expandable dirs.
await logger.fromJson([{ id: 1 }], { group: "db" });
time(callback: () => Promise<void> | void, options?: ZTracerOptions<T>): Promise<void>Measures execution time of a callback.
await logger.time(async () => { await fetch(url); }, { group: "api" });
All methods return Promise<void> and should be awaited.
interface ZTracerOptions<T extends string> {
group?: T; // Group name
suffix?: string; // Appended to group label
callBack?: ZTracerCallBack<T>; // Per-log callback
}
type ZTracerCallBack<T> = (
data: unknown,
group?: T
) => void | Promise<void>;
interface ZTracerGroup<T> {
background?: string;
color?: string;
callBack?: ZTracerCallBack<T>;
}
Full type definitions are available in the TypeScript guide.
ZTracer supports both ES Modules and CommonJS. The package exports default and named exports.
import ZTracer from "z-tracer-kit";
// or
import { ZTracer } from "z-tracer-kit";
const { ZTracer } = require("z-tracer-kit");
// or
const ZTracer = require("z-tracer-kit").default;
The CommonJS output uses .cjs files and is automatically detected
by Node.js when your project uses "type": "commonjs".
#6c757d).timer-{timestamp}-{random}).For more details, see Log Lifecycle: Error Handling.