@dbml/cli
Version:
See our website [@dbml/cli](https://dbml.dbdiagram.io/cli/) for more information
77 lines (75 loc) • 1.83 kB
JavaScript
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;
;