diff --git a/src/helper/logger.js b/src/helper/logger.js index f295456..e5731e6 100644 --- a/src/helper/logger.js +++ b/src/helper/logger.js @@ -19,10 +19,26 @@ console.log = function (d) { log_file.write(d); log_stdout.write(d); }; -console.error = console.log; +console.error = (d) => { + console.log("[ERROR] " + util.format(d)); +}; -function getCurrentlog() { - return fs.readFileSync(__dirname + "/../../logs/" + name, "utf8").toString(); +// function getCurrentlog() { +// return fs.readFileSync(__dirname + "/../../logs/" + name, "utf8").toString(); +// } + +function getCurrentlog(num = -1) { + if (num > 0) { + let log = fs + .readFileSync(__dirname + "/../../logs/" + name, "utf8") + .toString() + .split("\n"); + return log.slice(-num).join("\n"); + } else { + return fs + .readFileSync(__dirname + "/../../logs/" + name, "utf8") + .toString(); + } } module.exports = { getCurrentlog }; diff --git a/src/websrv/index.js b/src/websrv/index.js index 2d89e3e..5f6c392 100644 --- a/src/websrv/index.js +++ b/src/websrv/index.js @@ -11,8 +11,11 @@ module.exports = function (conf) { const internalRouter = require("./routes/internalRouter"); app.use((req, res, next) => { + var start = process.hrtime(); res.on("finish", () => { - console.log(`${req.method} ${req.url} ${res.statusCode}`); + var elapsed = process.hrtime(start)[1] / 1000000; + let time = elapsed.toFixed(3).replace(".", ",") + " ms"; + console.log(`${req.method} ${req.url} ${res.statusCode} | ${time}`); }); next(); }); @@ -33,7 +36,7 @@ module.exports = function (conf) { .on("error", (err) => { State.status = 1; State.statusMSG = "webserver could not started"; - console.log(err); + console.error(err); }); }; diff --git a/src/websrv/routes/internalRouter.js b/src/websrv/routes/internalRouter.js index e658217..0814165 100644 --- a/src/websrv/routes/internalRouter.js +++ b/src/websrv/routes/internalRouter.js @@ -14,8 +14,11 @@ router.get("/jsste/status", (req, res) => { router.get("/websrv/status", (req, res) => { res.json(States.WebsrvState); }); +router.get("/shortlogs", (req, res) => { + res.json(logger.getCurrentlog(32)); +}); router.get("/logs", (req, res) => { - res.json(logger.getCurrentlog()); + res.json(logger.getCurrentlog(64)); }); module.exports = router;