diff --git a/Dockerfile b/Dockerfile index 906f851ca7e0e0115ec3c276ae4320d74796882d..3af81c595c97e0e3befadc24da63121956a18a4c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -123,9 +123,6 @@ ENV PORT 3000 ENV NODE_ENV production ENV SERVE_CLIENT /home/node/app/packages/client ENV SERVE_ADMIN /home/node/app/packages/admin -ENV PIXEL_LOG_PATH /home/node/app/pixel.log - -VOLUME /home/node/app/pixel.log EXPOSE 3000 # profiler port, only used if profiler is explicity running diff --git a/packages/server/src/api/admin.ts b/packages/server/src/api/admin.ts index b488e89c2dca637aceea650b205314b4c611f046..45e76cc31994ae1c2f15bcd741779f0fe06070a2 100644 --- a/packages/server/src/api/admin.ts +++ b/packages/server/src/api/admin.ts @@ -3,7 +3,6 @@ import { Router } from "express"; import { CanvasController } from "../controllers/CanvasController"; import { SocketController } from "../controllers/SocketController"; import { getLogger } from "../lib/Logger"; -import { LogMan } from "../lib/LogMan"; import { prisma } from "../lib/prisma"; import { RateLimiter } from "../lib/RateLimiter"; import { AuditLog } from "../models/AuditLog"; @@ -91,7 +90,7 @@ app.post("/canvas/size", async (req, res) => { // we log this here because Canvas#setSize is ran at launch // this is currently the only way the size is changed is via the API - LogMan.log("canvas_size", { width, height }); + // LogMan.log("canvas_size", { width, height }); const user = (await User.fromAuthSession(req.session.user!))!; const auditLog = AuditLog.Factory(user.sub) @@ -119,7 +118,7 @@ app.post("/canvas/freeze", async (req, res) => { await CanvasController.get().setFrozen(true); // same reason as canvas size changes, we log this here because #setFrozen is ran at startup - LogMan.log("canvas_freeze", {}); + // LogMan.log("canvas_freeze", {}); const user = (await User.fromAuthSession(req.session.user!))!; const auditLog = AuditLog.Factory(user.sub) @@ -140,7 +139,7 @@ app.delete("/canvas/freeze", async (req, res) => { await CanvasController.get().setFrozen(false); // same reason as canvas size changes, we log this here because #setFrozen is ran at startup - LogMan.log("canvas_unfreeze", {}); + // LogMan.log("canvas_unfreeze", {}); const user = (await User.fromAuthSession(req.session.user!))!; const auditLog = AuditLog.Factory(user.sub) @@ -268,10 +267,10 @@ app.put("/canvas/undo", async (req, res) => { return; } - const user_sub = - req.session.user!.user.username + - "@" + - req.session.user!.service.instance.hostname; + // const user_sub = + // req.session.user!.user.username + + // "@" + + // req.session.user!.service.instance.hostname; const start_position: [x: number, y: number] = [ req.body.start.x, req.body.start.y, @@ -301,11 +300,11 @@ app.put("/canvas/undo", async (req, res) => { }); // TODO: this spams the log, it would be nicer if it combined - LogMan.log("mod_rollback", user_sub, { - x: pixel.pixel.x, - y: pixel.pixel.y, - hex: coveredPixel?.color, - }); + // LogMan.log("mod_rollback", user_sub, { + // x: pixel.pixel.x, + // y: pixel.pixel.y, + // hex: coveredPixel?.color, + // }); break; } case "rejected": diff --git a/packages/server/src/controllers/CanvasController.ts b/packages/server/src/controllers/CanvasController.ts index 6b334db0cfda66bc9ec91c46bdedeac726a2ed04..d21bad2942ab92fcf56e2a56bf1b5153cc129ade 100644 --- a/packages/server/src/controllers/CanvasController.ts +++ b/packages/server/src/controllers/CanvasController.ts @@ -7,7 +7,6 @@ import { import { Socket } from "socket.io"; import { getLogger } from "../lib/Logger"; -import { LogMan } from "../lib/LogMan"; import { prisma } from "../lib/prisma"; import { Settings } from "../lib/Settings"; import { callCacheWorker, getCacheWorkerIdForCoords } from "../workers/worker"; @@ -262,11 +261,11 @@ export class CanvasController { }); } - LogMan.log("pixel_undo", pixel.userId, { - x: pixel.x, - y: pixel.y, - hex: coveringPixel?.color, - }); + // LogMan.log("pixel_undo", pixel.userId, { + // x: pixel.x, + // y: pixel.y, + // hex: coveringPixel?.color, + // }); return coveringPixel; } @@ -450,7 +449,7 @@ export class CanvasController { })) ); - LogMan.log("mod_fill", user.sub, { from: start, to: end, hex }); + // LogMan.log("mod_fill", user.sub, { from: start, to: end, hex }); } async setPixel( @@ -484,11 +483,11 @@ export class CanvasController { await this.updateCanvasRedisAtPos(x, y); Logger.info(`${user.sub} placed pixel at (${x}, ${y})`); - LogMan.log(isModAction ? "mod_override" : "pixel_place", user.sub, { - x, - y, - hex, - }); + // LogMan.log(isModAction ? "mod_override" : "pixel_place", user.sub, { + // x, + // y, + // hex, + // }); } /** diff --git a/packages/server/src/lib/LogMan.ts b/packages/server/src/lib/LogMan.ts deleted file mode 100644 index fc2ba5fb7ba77300f8e09fd5f15cf49882d58462..0000000000000000000000000000000000000000 --- a/packages/server/src/lib/LogMan.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { PixelLogger } from "./Logger"; - -interface UserEvents { - pixel_place: { x: number; y: number; hex: string }; - pixel_undo: { x: number; y: number; hex?: string }; - mod_fill: { - from: [x: number, y: number]; - to: [x: number, y: number]; - hex: string; - }; - mod_override: { x: number; y: number; hex: string }; - mod_rollback: { x: number; y: number; hex?: string }; - mod_rollback_undo: { x: number; y: number; hex?: string }; -} - -interface SystemEvents { - canvas_size: { width: number; height: number }; - canvas_freeze: object; - canvas_unfreeze: object; -} - -/** - * Handle logs that should be written to a text file - * - * This could be used as an EventEmitter in the future, but as of right now - * it just adds typing to logging of these events - * - * TODO: better name, this one is not it - * - * @see #57 - */ -class LogMan_ { - log( - event: EventName, - data: SystemEvents[EventName] - ): void; - log( - event: EventName, - user: string, - data: UserEvents[EventName] - ): void; - log( - event: EventName, - ...params: EventName extends keyof UserEvents - ? [user: string, data: UserEvents[EventName]] - : EventName extends keyof SystemEvents - ? [data: SystemEvents[EventName]] - : never - ): void { - const parts: string[] = []; - - if (params.length === 2) { - // user event - const user = params[0] as string; - parts.push(user, event); - - if (event === "mod_fill") { - // this event format has a different line format - const data: UserEvents["mod_fill"] = params[1] as any; - - parts.push(data.from.join(","), data.to.join(","), data.hex); - } else { - const data: UserEvents[Exclude] = - params[1] as any; - parts.push(...[data.x, data.y, data.hex || "unset"].map((a) => a + "")); - } - } else { - // system event - - parts.push("system", event); - - switch (event) { - case "canvas_size": { - const data: SystemEvents["canvas_size"] = params[0] as any; - const { width, height } = data; - parts.push(width + "", height + ""); - break; - } - } - } - - PixelLogger.info(parts.join("\t")); - } -} - -export const LogMan = new LogMan_(); diff --git a/packages/server/src/lib/Logger.ts b/packages/server/src/lib/Logger.ts index 00de5689bfeed339f098019b520d91a0badff012..344ba88c5ff65dcd95bfa563e82aab25c12d931d 100644 --- a/packages/server/src/lib/Logger.ts +++ b/packages/server/src/lib/Logger.ts @@ -1,13 +1,7 @@ -import path from "node:path"; - import winston, { format } from "winston"; import { createEnum } from "./utils"; -// if PIXEL_LOG_PATH is defined, use that, otherwise default to packages/server root -const PIXEL_LOG_PATH = - process.env.PIXEL_LOG_PATH || path.join(__dirname, "..", "..", "pixels.log"); - const formatter = format.printf((options) => { let maxModuleWidth = 0; for (const module of Object.values(LoggerType)) { @@ -62,18 +56,6 @@ const Winston = winston.createLogger({ transports: [new winston.transports.Console()], }); -// Used by LogMan for writing to pixels.log -export const PixelLogger = winston.createLogger({ - format: format.printf((options) => { - return [new Date().toISOString(), options.message].join("\t"); - }), - transports: [ - new winston.transports.File({ - filename: PIXEL_LOG_PATH, - }), - ], -}); - export const LoggerType = createEnum([ "MAIN", "SETTINGS",