aboutsummaryrefslogtreecommitdiffstats
path: root/lib/app.ts
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-10-13 07:54:14 -0700
committerAdam Soltys <[email protected]>2024-10-13 14:57:07 +0000
commit89163fd9a9e79bfc4d2e6cfe72ad109419705276 (patch)
tree7d0fc6570fc156db8e0a43dc749dad8d2489b905 /lib/app.ts
parentc530e75c7fe3a93d095a036c21a24415dba8801b (diff)
downloadcoinos-server-89163fd9a9e79bfc4d2e6cfe72ad109419705276.tar.gz
coinos-server-89163fd9a9e79bfc4d2e6cfe72ad109419705276.zip
request logging
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, {