webpods
Version:
Append-only log service with OAuth authentication
37 lines • 1.33 kB
JavaScript
// Simple logger utility for WebPods
export function createLogger(name) {
const logLevel = process.env.LOG_LEVEL || "info";
const levels = ["debug", "info", "warn", "error"];
const currentLevelIndex = levels.indexOf(logLevel);
const shouldLog = (level) => {
return levels.indexOf(level) >= currentLevelIndex;
};
const formatMessage = (level, message, meta) => {
const timestamp = new Date().toISOString();
const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
return `[${timestamp}] [${level.toUpperCase()}] [${name}] ${message}${metaStr}`;
};
return {
debug: (message, meta) => {
if (shouldLog("debug")) {
console.info(formatMessage("debug", message, meta));
}
},
info: (message, meta) => {
if (shouldLog("info")) {
console.info(formatMessage("info", message, meta));
}
},
warn: (message, meta) => {
if (shouldLog("warn")) {
console.warn(formatMessage("warn", message, meta));
}
},
error: (message, meta) => {
if (shouldLog("error")) {
console.error(formatMessage("error", message, meta));
}
},
};
}
//# sourceMappingURL=logger.js.map