From c3fca1c02fb79a4f2daf57469fb42f12224f65fe Mon Sep 17 00:00:00 2001 From: The Arcane Brony Date: Sat, 18 Sep 2021 16:13:15 +0000 Subject: [PATCH] Add request logging (with env var: log-requests) Request logging is enabled when the log-request environment variable is set. --- api/package-lock.json | Bin 807368 -> 812052 bytes api/package.json | 2 ++ api/src/Server.ts | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/api/package-lock.json b/api/package-lock.json index fd9c68b4db350559571acf3f3bded2c26f32fb27..499c612e44d82431c0a952b4d641c34ecb1bf02e 100644 GIT binary patch delta 1722 zcmd6mPi!Jp9LFu-lP-}^)$Pfmq{{RVwN`Kl2;&TbV2AeTYOn$^f(&zrEw32#VIk?rX-IG z^pD^fpnN-av8&v)?fr4*STSeRQg%MmY=F$M(F%?UBW~sY)`|mPX9sXEj@XkCKPo6q zCMP9QNs(<9Gi{!)p*bzsXtcr-n?h5iwzws(GOm!a?%E`1X^V1YlW|E%5gSoH>Wfvf z> z?%no`{d^xjjTFMcuEnzO^eFkqv%~?eL$(CP3k7eITU3i~Mnv&Kq^0>>DK1;_NE;O4 zZV5h5TjSd7Vo4&MWh^0wNQz-Io08NaHJokB(kd-Bs$xWSr9(WciAy}bH45|Dvv`Kz z;Oc_I>A*q%7xQbz;noRo4zgd6rTL``zCU>D5?EdN$j@-Pr-`T!ZXMB~3A?KNyyE zF0MCnwU9I6Qc*vrlq1eylvwNdOIVYPwNWPN!Zy)he3RW`$+o{EXpDy{d-J|pK*LBa zOxD&_t{9MNu}Yl+vn%kc;QpFvW_z+`7?iO$Su>Hp{XZBxoEV=5??;d!W0PQK89{nX z2>G0UQqmIVLK>L;0GS4N&CpbDK-(M8_Q@?|Q0Csrt?}rG|1D6%o+?^m$^ wG3)mGRcxlWwi}1B&q-=$+szKd9NXD;bNY8}@AKrEX4fv<$+ca$lbi8209r04P5=M^ diff --git a/api/package.json b/api/package.json index ad959e572..98b157870 100644 --- a/api/package.json +++ b/api/package.json @@ -62,6 +62,7 @@ }, "dependencies": { "@fosscord/util": "file:../util", + "@types/morgan": "^1.9.3", "ajv": "8.6.2", "ajv-formats": "^2.1.1", "amqplib": "^0.8.0", @@ -85,6 +86,7 @@ "mongoose": "^5.12.3", "mongoose-autopopulate": "^0.12.3", "mongoose-long": "^0.3.2", + "morgan": "^1.10.0", "multer": "^1.4.2", "node-fetch": "^2.6.1", "patch-package": "^6.4.7", diff --git a/api/src/Server.ts b/api/src/Server.ts index b9ca3fba5..318d70947 100644 --- a/api/src/Server.ts +++ b/api/src/Server.ts @@ -11,6 +11,7 @@ import path from "path"; import { initRateLimits } from "./middlewares/RateLimit"; import TestClient from "./middlewares/TestClient"; import { initTranslation } from "./middlewares/Translation"; +import morgan from "morgan"; export interface FosscordServerOptions extends ServerOptions {} @@ -36,6 +37,11 @@ export class FosscordServer extends Server { await Config.init(); await initEvent(); + let logRequests = process.env["log-requests"] != undefined; + if(logRequests) { + this.app.use(morgan("combined")); + } + this.app.use(CORS); this.app.use(BodyParser({ inflate: true, limit: "10mb" })); @@ -65,6 +71,9 @@ export class FosscordServer extends Server { this.app.use(ErrorHandler); TestClient(this.app); + if(logRequests){ + console.log("Warning: Request logging is enabled! This will spam your console!\nTo disable this, unset the 'log-requests' environment variable!"); + } return super.start(); } }