🔊 verbose error handler

This commit is contained in:
Flam3rboy 2021-08-17 20:37:13 +02:00
parent 678ffc83ea
commit 65157aac9c
4 changed files with 12 additions and 9 deletions

View File

@ -5,7 +5,7 @@ import { Authentication, CORS } from "./middlewares/";
import { Config, db, initEvent } from "@fosscord/util"; import { Config, db, initEvent } from "@fosscord/util";
import { ErrorHandler } from "./middlewares/ErrorHandler"; import { ErrorHandler } from "./middlewares/ErrorHandler";
import { BodyParser } from "./middlewares/BodyParser"; import { BodyParser } from "./middlewares/BodyParser";
import { Router, Request, Response } from "express"; import { Router, Request, Response, NextFunction } from "express";
import mongoose from "mongoose"; import mongoose from "mongoose";
import path from "path"; import path from "path";
import { initRateLimits } from "./middlewares/RateLimit"; import { initRateLimits } from "./middlewares/RateLimit";
@ -69,7 +69,8 @@ export class FosscordServer extends Server {
this.routes = await this.registerRoutes(path.join(__dirname, "routes", "/")); this.routes = await this.registerRoutes(path.join(__dirname, "routes", "/"));
api.use("*", (req: Request, res: Response, next) => { api.use("*", (error: any, req: Request, res: Response, next: NextFunction) => {
if (error) return next(error);
res.status(404).json({ res.status(404).json({
message: "404: Not Found", message: "404: Not Found",
code: 0 code: 0

View File

@ -3,6 +3,8 @@ import { HTTPError } from "lambert-server";
import { FieldError } from "../util/instanceOf"; import { FieldError } from "../util/instanceOf";
export function ErrorHandler(error: Error, req: Request, res: Response, next: NextFunction) { export function ErrorHandler(error: Error, req: Request, res: Response, next: NextFunction) {
if (!error) next();
try { try {
let code = 400; let code = 400;
let httpcode = code; let httpcode = code;
@ -24,9 +26,11 @@ export function ErrorHandler(error: Error, req: Request, res: Response, next: Ne
if (httpcode > 511) httpcode = 400; if (httpcode > 511) httpcode = 400;
console.error(`[Error] ${code} ${req.url} ${message}`, errors || error);
res.status(httpcode).json({ code: code, message, errors }); res.status(httpcode).json({ code: code, message, errors });
} catch (error) { } catch (error) {
console.error(error); console.error(`[Internal Server Error] 500`, error);
return res.status(500).json({ code: 500, message: "Internal Server Error" }); return res.status(500).json({ code: 500, message: "Internal Server Error" });
} }
} }

View File

@ -42,7 +42,6 @@
"../api": { "../api": {
"name": "@fosscord/api", "name": "@fosscord/api",
"version": "1.0.0", "version": "1.0.0",
"hasInstallScript": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@fosscord/util": "file:../util", "@fosscord/util": "file:../util",
@ -99,7 +98,6 @@
"../cdn": { "../cdn": {
"name": "@fosscord/cdn", "name": "@fosscord/cdn",
"version": "1.0.0", "version": "1.0.0",
"hasInstallScript": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@fosscord/util": "file:../util", "@fosscord/util": "file:../util",
@ -141,7 +139,6 @@
"../gateway": { "../gateway": {
"name": "@fosscord/gateway", "name": "@fosscord/gateway",
"version": "1.0.0", "version": "1.0.0",
"hasInstallScript": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@fosscord/util": "file:../util", "@fosscord/util": "file:../util",
@ -172,7 +169,7 @@
}, },
"../util": { "../util": {
"name": "@fosscord/util", "name": "@fosscord/util",
"version": "1.3.55", "version": "1.0.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "GPLV3", "license": "GPLV3",
"dependencies": { "dependencies": {

View File

@ -9,14 +9,15 @@ export function initStats() {
setInterval(async () => { setInterval(async () => {
const [cpuUsed, memory, network] = await Promise.all([osu.cpu.usage(), osu.mem.info(), osu.netstat.inOut()]); const [cpuUsed, memory, network] = await Promise.all([osu.cpu.usage(), osu.mem.info(), osu.netstat.inOut()]);
var networkUsage = "";
if (typeof network === "object") { if (typeof network === "object") {
console.log(`[Network]: in ${network.total.inputMb}mb | out ${network.total.outputMb}mb`); networkUsage = `| [Network]: in ${network.total.inputMb}mb | out ${network.total.outputMb}mb`;
} }
console.log( console.log(
`[CPU] ${cpuUsed.toFixed(2)}% | [Memory] ${Math.round( `[CPU] ${cpuUsed.toFixed(2)}% | [Memory] ${Math.round(
process.memoryUsage().rss / 1024 / 1024 process.memoryUsage().rss / 1024 / 1024
)}mb/${memory.totalMemMb.toFixed(0)}mb` )}mb/${memory.totalMemMb.toFixed(0)}mb ${networkUsage}`
); );
}, 1000 * 30); }, 1000 * 30);
} }