@qrvey/health-checker
Version:
 
40 lines • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const winston_1 = require("winston");
const { combine, timestamp, printf, colorize } = winston_1.format;
const logFormat = printf(({ level, message, timestamp }) => {
return `${timestamp} [${level}]: ${message}`;
});
const baseLogger = (0, winston_1.createLogger)({
level: 'info',
format: combine(timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), colorize(), logFormat),
transports: [new winston_1.transports.Console()],
});
function formatMessage(context, data) {
if (!data)
return context;
let detail = '';
if (data instanceof Error) {
detail = data.stack || data.message;
}
else if (typeof data === 'object') {
try {
detail = JSON.stringify(data);
}
catch (_a) {
detail = '[Unserializable object]';
}
}
else {
detail = String(data);
}
return `${context} ${detail}`;
}
const logger = {
info: (msg, data) => baseLogger.info(formatMessage(msg, data)),
warn: (msg, data) => baseLogger.warn(formatMessage(msg, data)),
error: (msg, data) => baseLogger.error(formatMessage(msg, data)),
debug: (msg, data) => baseLogger.debug(formatMessage(msg, data)),
};
exports.default = logger;
//# sourceMappingURL=logger.js.map