diff options
Diffstat (limited to 'lib/app.ts')
| -rw-r--r-- | lib/app.ts | 23 |
1 files changed, 19 insertions, 4 deletions
@@ -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, { |
