From 89163fd9a9e79bfc4d2e6cfe72ad109419705276 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 13 Oct 2024 07:54:14 -0700 Subject: request logging --- lib/app.ts | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'lib/app.ts') diff --git a/lib/app.ts b/lib/app.ts index 9405b44b..5adc104c 100644 --- a/lib/app.ts +++ b/lib/app.ts @@ -7,19 +7,34 @@ import fastifySecureSession from "@fastify/secure-session"; import fastifyProxy from "@fastify/http-proxy"; import fastifyRateLimit from "@fastify/rate-limit"; import cors from "@fastify/cors"; +import pino from "pino"; import * as path from "path"; -import pino from "pino"; import { jwtStrategy } from "$lib/auth"; const app = fastify({ - logger: pino(), + logger: true, disableRequestLogging: true, - // disableRequestLogging: false, maxParamLength: 500, }); +const reqLogger = pino(pino.destination("req")); +const resLogger = pino(pino.destination("res")); + +app.addHook("onRequest", async (req) => { + reqLogger.info({ url: req.raw.url, id: req.id }); +}); + +app.addHook("onResponse", async (req, reply) => { + resLogger.info({ + id: req.id, + url: req.raw.url, + statusCode: reply.raw.statusCode, + durationMs: reply.elapsedTime, + }); +}); + app.register(fastifyRateLimit, { allowList: (req) => req.raw.url?.includes("public"), max: 100, @@ -38,7 +53,7 @@ app.register(fastifyProxy, { upstream: "http://localhost:3120", prefix: "/ws", rewritePrefix: "/ws", - websocket: true + websocket: true, }); app.register(fastifySecureSession, { -- cgit v1.2.3