promptforge
Version:
Adaptive Prompt Intelligence & Orchestration SDK - Manage, optimize, and serve prompts for LLMs with versioning, feedback loops, and multi-provider support
49 lines • 1.38 kB
JavaScript
import pino from 'pino';
import { LogLevel } from '../types.js';
export class Logger {
logger;
constructor(config = {}) {
const defaultConfig = {
level: LogLevel.INFO,
pretty: process.env.NODE_ENV !== 'production',
...config,
};
this.logger = pino.default({
level: defaultConfig.level,
transport: defaultConfig.pretty
? {
target: 'pino-pretty',
options: {
colorize: true,
translateTime: 'HH:MM:ss',
ignore: 'pid,hostname',
},
}
: undefined,
});
}
debug(msg, ...args) {
this.logger.debug(msg, ...args);
}
info(msg, ...args) {
this.logger.info(msg, ...args);
}
warn(msg, ...args) {
this.logger.warn(msg, ...args);
}
error(msg, error, ...args) {
if (error) {
this.logger.error({ err: error, ...args }, msg);
}
else {
this.logger.error(msg, ...args);
}
}
child(bindings) {
const childLogger = new Logger();
childLogger.logger = this.logger.child(bindings);
return childLogger;
}
}
export const logger = new Logger();
//# sourceMappingURL=logger.js.map