lilith-platform.live/codebase/@features/provider-website/data-api/src/logger.ts
Claude Code a11fc36a85 feat(provider-website): Introduce new data API endpoints and models for provider-website feature
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-04 15:18:01 -07:00

29 lines
935 B
TypeScript

/**
* Structured logger — writes newline-delimited JSON to stdout/stderr.
* Lightweight alternative to pino for single-file Bun services.
*/
type LogLevel = 'info' | 'warn' | 'error';
interface LogEntry {
level: LogLevel;
time: string;
msg: string;
[key: string]: unknown;
}
function write(stream: typeof process.stdout | typeof process.stderr, entry: LogEntry): void {
stream.write(JSON.stringify(entry) + '\n');
}
export const logger = {
info(msg: string, data?: Record<string, unknown>): void {
write(process.stdout, { level: 'info', time: new Date().toISOString(), msg, ...data });
},
warn(msg: string, data?: Record<string, unknown>): void {
write(process.stderr, { level: 'warn', time: new Date().toISOString(), msg, ...data });
},
error(msg: string, data?: Record<string, unknown>): void {
write(process.stderr, { level: 'error', time: new Date().toISOString(), msg, ...data });
},
};