@prsna_ai/mcp-server
Version:
Model Context Protocol server for PRSNA personality profiles and communication insights
47 lines • 1.57 kB
JavaScript
export var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
LogLevel[LogLevel["INFO"] = 1] = "INFO";
LogLevel[LogLevel["WARN"] = 2] = "WARN";
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
})(LogLevel = LogLevel || (LogLevel = {}));
class Logger {
level;
constructor() {
const logLevel = process.env.LOG_LEVEL?.toUpperCase() || 'INFO';
this.level = LogLevel[logLevel] ?? LogLevel.INFO;
}
shouldLog(level) {
return level >= this.level;
}
formatMessage(level, message, data) {
const timestamp = new Date().toISOString();
const baseMessage = `[${timestamp}] [${level}] ${message}`;
if (data) {
return `${baseMessage} ${JSON.stringify(data)}`;
}
return baseMessage;
}
debug(message, data) {
if (this.shouldLog(LogLevel.DEBUG)) {
process.stderr.write(this.formatMessage('DEBUG', message, data) + '\n');
}
}
info(message, data) {
if (this.shouldLog(LogLevel.INFO)) {
process.stderr.write(this.formatMessage('INFO', message, data) + '\n');
}
}
warn(message, data) {
if (this.shouldLog(LogLevel.WARN)) {
process.stderr.write(this.formatMessage('WARN', message, data) + '\n');
}
}
error(message, data) {
if (this.shouldLog(LogLevel.ERROR)) {
process.stderr.write(this.formatMessage('ERROR', message, data) + '\n');
}
}
}
export const logger = new Logger();
//# sourceMappingURL=logger.js.map