@site-index/observability
v0.1.5
Published
Observability utilities for site-index.
Maintainers
Readme
@site-index/observability
Observability and logging utilities for site-index packages.
Install
npm install @site-index/observabilityRequirements:
- Node.js
>=22
When to use
Use this package when you want consistent warning/error formatting and logging behavior across site-index tooling.
Public exports
export { Logger } from "./domains/logger/logger.js";
export type {
LoggerOptions,
LogSink,
LogWriter,
} from "./domains/logger/types.js";Public API
class Logger {
constructor(options?: LoggerOptions);
configure(options: LoggerOptions): void;
info(message: string): void;
warn(input: string | Warning | Warning[]): void;
error(error: unknown): void;
}Types:
type LogSink = (message: string) => void;
type LogWriter = {
info: LogSink;
warn: LogSink;
error: LogSink;
};
type LoggerOptions = {
writer?: LogWriter;
quiet?: boolean;
verbose?: boolean;
};Behavior
- default writers:
- info -> stdout
- warn -> stderr
- error -> stderr
quietsuppresses info logsverboseincludes error stack traces when available- warning input can be:
- string
- single
Warning Warning[]
- warning formatting:
Warning: <message>Warning: <filePath>: <message>
- Zod errors are formatted as validation failures with issue lines
Example
import { Logger } from "@site-index/observability";
const logger = new Logger({ verbose: true });
logger.info("Building artifacts");
logger.warn("No site-index modules discovered");
logger.error(new Error("Build failed"));