@spotable/attio-sdk
Version:
Client for Attio REST API
43 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const winston = require("winston");
const chalk_1 = require("chalk");
const serialize_error_1 = require("serialize-error");
const customFormat = winston.format.printf(({ level, message, error, ...extraOptions }) => {
const colorFn = (() => {
switch (level) {
case "error":
return chalk_1.default.red;
case "warn":
return chalk_1.default.yellow;
case "info":
return chalk_1.default.white;
case "debug":
return chalk_1.default.blue;
default:
return chalk_1.default.white;
}
})();
const levelEmoji = (() => {
switch (level) {
case "error":
return "❌";
case "warn":
return "⚠️";
case "info":
return "ℹ️";
case "debug":
return "🐛";
default:
return "🔍";
}
})();
return `${colorFn(`${levelEmoji} ${message}`)}${error ? `\n${chalk_1.default.red((0, serialize_error_1.serializeError)(error))}` : ""}${extraOptions && Object.keys(extraOptions).length > 0 ? `\n${chalk_1.default.gray(JSON.stringify(extraOptions, null, 2))}` : ""}`;
});
const logger = winston.createLogger({
level: "debug",
format: customFormat,
transports: [new winston.transports.Console()],
});
exports.default = logger;
//# sourceMappingURL=logger.js.map