summary refs log tree commit diff
path: root/api/src
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-18 20:45:30 +0200
committerGitHub <noreply@github.com>2021-09-18 20:45:30 +0200
commitfa9f512c900a70a424e33000e383af67e10086b7 (patch)
tree30785f18b861b2dde69c117a84342af780aff2d9 /api/src
parentMerge pull request #369 from AlTech98/fix-dm (diff)
parentAdd response code white/blacklisting (diff)
downloadserver-fa9f512c900a70a424e33000e383af67e10086b7.tar.xz
Merge pull request #375 from TheArcaneBrony/request-logging
Add request logging (with env var: log-requests)
Diffstat (limited to 'api/src')
-rw-r--r--api/src/Server.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/api/src/Server.ts b/api/src/Server.ts

index b9ca3fba..bda19db5 100644 --- a/api/src/Server.ts +++ b/api/src/Server.ts
@@ -1,3 +1,4 @@ +import { OptionsJson } from 'body-parser'; import "missing-native-js-functions"; import { Connection } from "mongoose"; import { Server, ServerOptions } from "lambert-server"; @@ -11,6 +12,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 +38,29 @@ export class FosscordServer extends Server { await Config.init(); await initEvent(); + + /* + DOCUMENTATION: uses log-requests environment variable + + # only log 200 and 204 + log-requests=200 204 + # log everything except 200 and 204 + log-requests=-200 204 + # log all requests + log-requests=- + */ + + let logRequests = process.env["log-requests"] != undefined; + if(logRequests) { + this.app.use(morgan("combined", { + skip: (req, res) => { + var skip = !(process.env["log-requests"]?.includes(res.statusCode.toString()) ?? false); + if(process.env["log-requests"]?.charAt(0) == '-') skip = !skip; + return skip; + } + })); + } + this.app.use(CORS); this.app.use(BodyParser({ inflate: true, limit: "10mb" })); @@ -65,6 +90,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(); } }