UNPKG

@qrvey/health-checker

Version:

![install size](https://packagephobia.com/badge?p=@qrvey/health-checker) ![coverage](https://img.shields.io/badge/unit_test_coverage-87%25-brightgreen)

40 lines 1.33 kB
"use strict"; 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