aboutsummaryrefslogtreecommitdiffstats
path: root/lib/app.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/app.ts')
-rw-r--r--lib/app.ts23
1 files changed, 19 insertions, 4 deletions
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, {