@coursebuilder/core
Version:
Core package for Course Builder
51 lines (49 loc) • 1.58 kB
JavaScript
import {
CourseBuilderError
} from "./chunk-F32UWPXN.js";
import {
__name
} from "./chunk-VLQXSCFN.js";
// src/lib/utils/logger.ts
var red = "\x1B[31m";
var yellow = "\x1B[33m";
var grey = "\x1B[38;5;246m";
var reset = "\x1B[0m";
var logger = {
error(error) {
const name = error instanceof CourseBuilderError ? error.type : error.name;
console.error(`${red}[coursebuilder][error]${reset} ${name}: ${error.message}`);
if (error.cause && typeof error.cause === "object" && "err" in error.cause && error.cause.err instanceof Error) {
const { err, ...data } = error.cause;
console.error(`${red}[coursebuilder][cause]${reset}:`, err.stack);
if (data)
console.error(`${red}[coursebuilder][details]${reset}:`, JSON.stringify(data, null, 2));
} else if (error.stack) {
console.error(error.stack.replace(/.*/, "").substring(1));
}
},
warn(code) {
const url = `https://warnings.coursebuilder.dev#${code}`;
console.warn(`${yellow}[coursebuilder][warn][${code}]${reset}`, `Read more: ${url}`);
},
debug(message, metadata) {
console.log(`${grey}[coursebuilder][debug]:${reset} ${message}`, JSON.stringify(metadata, null, 2));
}
};
function setLogger(newLogger = {}, debug) {
if (!debug)
logger.debug = () => {
};
if (newLogger.error)
logger.error = newLogger.error;
if (newLogger.warn)
logger.warn = newLogger.warn;
if (newLogger.debug)
logger.debug = newLogger.debug;
}
__name(setLogger, "setLogger");
export {
logger,
setLogger
};
//# sourceMappingURL=chunk-B73XG2UO.js.map