UNPKG

reshuffle

Version:

Reshuffle is a fast, unopinionated, minimalist integration framework

80 lines 3.21 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __spreadArrays = (this && this.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; exports.createLogger = void 0; var util_1 = __importDefault(require("util")); var winston_1 = require("winston"); var colorize = winston_1.format.colorize, combine = winston_1.format.combine, printf = winston_1.format.printf, json = winston_1.format.json, timestamp = winston_1.format.timestamp; var consoleFormat = printf(function (_a) { var level = _a.level, message = _a.message, timestamp = _a.timestamp, handlerId = _a.handlerId; return timestamp + " " + (handlerId ? 'event' : 'runtime') + " " + level + " " + message; }); var consoleLikeMessage = winston_1.format(function (data) { // @ts-ignore var args = (data[Symbol["for"]('splat')] || []).map(function (elem) { if (elem instanceof Error) { elem.stack = '\n ' + elem.stack; } return elem; }); var message = util_1["default"].format.apply(util_1["default"], __spreadArrays([data.message.trim()], args)); return __assign(__assign({}, data), { message: message.trim() }); }); var loggerOptions = { level: 'info', format: combine(consoleLikeMessage(), timestamp(), json()), exitOnError: false, transports: [ // - Write all logs with level `error` to `error.log` new winston_1.transports.File({ filename: './logs/error.log', level: 'error' }), // - Write all logs to `combined.log` new winston_1.transports.File({ filename: './logs/combined.log' }), new winston_1.transports.Console({ format: combine(colorize({ level: true, message: true }), consoleFormat) }), ] }; var createLogger = function (options) { if (options === void 0) { options = loggerOptions; } var logger = winston_1.createLogger(options); var levels = ['debug', 'info', 'error', 'warn', 'debug']; // Print stacktrace for Errors levels.forEach(function (level) { // @ts-ignore logger[level] = function (msg) { var remains = []; for (var _i = 1; _i < arguments.length; _i++) { remains[_i - 1] = arguments[_i]; } return logger.log.apply(logger, __spreadArrays([level, '', msg], remains)); }; }); return logger; }; exports.createLogger = createLogger; //# sourceMappingURL=Logger.js.map