Add http logging for express

This commit is contained in:
Cooldude2606 committed 2024-01-18 18:50:29 +00:00
1 parent 8884116ee9
commit 9bcbc1e7f3
3 files changed
+14 -2

No files matched your search

+1
View File
@@ -30,6 +30,7 @@
"set-blocking": "^2.0.0",
"webpack-cli": "^5.1.4",
"winston": "^3.10.0",
"express-winston": "^4.2.0",
"winston-daily-rotate-file": "^4.7.1",
"ws": "^8.13.0",
"yargs": "^17.7.2"
+8
View File
@@ -3,6 +3,7 @@ import { BlockList, type AddressInfo, isIPv4, isIPv6 } from "net";
import type { ControllerArgs } from "../controller";
import express, { type Request, type Response, type NextFunction, type Application } from "express";
import type { Static } from "@sinclair/typebox";
import * as expressWinston from "express-winston";
import compression from "compression";
import events, { EventEmitter } from "events";
@@ -164,6 +165,10 @@ export default class Controller {
this.app = express();
this.app.locals.controller = this;
this.app.locals.streams = new Map();
this.app.use(expressWinston.logger({
winstonInstance: this.clusterLogger,
level: "http",
}));
this.trustedProxies = this.parseTrustedProxies();
this.wsServer = new WsServer(this);
@@ -283,6 +288,9 @@ export default class Controller {
// Load plugins
await this.loadPlugins();
this.app.use(expressWinston.errorLogger({
winstonInstance: this.clusterLogger,
}));
this.wsServer = new WsServer(this);
+5 -2
View File
@@ -9,7 +9,8 @@ export const levels = Object.freeze({
audit: 3,
info: 4,
server: 5,
verbose: 6,
http: 6,
verbose: 7,
});
export const colors = {
@@ -19,6 +20,7 @@ export const colors = {
audit: "bold brightGreen",
info: "bold brightBlue",
server: "bold",
http: "bold grey",
verbose: "bold grey",
} as const;
winston.addColors(colors);
@@ -163,7 +165,7 @@ export const logger = winston.createLogger({
// Who in their right mind thought that log levels should be hard coded
// into the type when you can define custom levels you want to support?
export type Logger = Omit<winston.Logger,
"error" | "warn" | "help" | "data" | "info" | "debug" | "prompt" | "http" | "verbose" | "input" | "silly" |
"error" | "warn" | "help" | "data" | "info" | "debug" | "prompt" | "verbose" | "input" | "silly" |
"emerg" | "alert" | "crit" | "warning" | "notice" |
"child"
> & {
@@ -173,6 +175,7 @@ export type Logger = Omit<winston.Logger,
audit: winston.LeveledLogMethod,
info: winston.LeveledLogMethod,
server: winston.LeveledLogMethod,
http: winston.LeveledLogMethod,
verbose: winston.LeveledLogMethod,
child(options: object): Logger,
};