UNPKG

@dbml/cli

Version:

See our website [@dbml/cli](https://dbml.dbdiagram.io/cli/) for more information

77 lines (75 loc) 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _winston = require("winston"); var _chalk = _interopRequireDefault(require("chalk")); var _path = _interopRequireDefault(require("path")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* eslint-disable import/no-import-module-exports */ const { combine, timestamp, printf } = _winston.format; const consoleFormat = printf(info => { const { level, message } = info; return ` ${_chalk.default.red(level.toUpperCase())}: ${message}\n A complete log can be found in: ${_path.default.resolve(process.cwd(), 'dbml-error.log')}`; }); const fileFormat = printf(info => { const { timestamp, stack, rootError } = info; let logContent = `${timestamp}\n${stack}\n`; if (rootError) { logContent += '\nROOT_ERROR:'; logContent += `\n${rootError.stack}`; if (rootError.location) { logContent += `\n${JSON.stringify(rootError.location)}`; } logContent += '\n'; } return logContent; }); const consoleLogger = (0, _winston.createLogger)({ format: combine(consoleFormat), transports: [new _winston.transports.Console({ level: 'error' })] }); const fileLogger = (0, _winston.createLogger)({ format: combine(timestamp(), fileFormat), transports: [new _winston.transports.File({ filename: 'dbml-error.log', level: 'error' })] }); const logger = { debug(msg) { consoleLogger.debug(msg); }, info(msg) { consoleLogger.info(msg); }, warn(msg) { consoleLogger.warn(msg); }, error(msg) { consoleLogger.error(msg); fileLogger.error(msg); }, log(level, msg) { const lvl = exports[level]; lvl(msg); } }; var _default = logger; exports.default = _default;