dio-cli
Version:
CLI for scaffolding dio-cli projects , 前端项目, 构建工具
35 lines (30 loc) • 995 B
JavaScript
const path = require("path");
const fs = require("fs-extra");
module.exports = (cmd, process) => {
if (cmd) cmd = "-" + cmd;
const file = path.posix.join(__dirname, "..", "dio-cli.log");
fs.ensureFileSync(file);
const stats = fs.lstatSync(file);
const cTime = stats.ctime;
const diff = Date.now() - new Date(cTime.getFullYear(), cTime.getMonth(), cTime.getDate());
if (diff >= 259200000) {
fs.writeFileSync(file, "", { flag: "w" });
}
process.on("unhandledRejection", err => {
throw err;
});
process.on("uncaughtException", err => {
fs.writeFileSync(
file,
`[Error]Dio${cmd}:${process.exitCode} (${new Date().toLocaleString()})\n` + `${err.stack}\n`,
{ flag: "a" }
);
// throw err;
});
process.on("exit", code => {
const state = code ? "Error" : "Success";
fs.writeFileSync(file, `[${state}]Dio${cmd}:${code} (${new Date().toLocaleString()})\n`, {
flag: "a"
});
});
};