diff options
| author | Adam Soltys <[email protected]> | 2024-10-13 07:54:14 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-10-13 14:57:07 +0000 |
| commit | 89163fd9a9e79bfc4d2e6cfe72ad109419705276 (patch) | |
| tree | 7d0fc6570fc156db8e0a43dc749dad8d2489b905 /lib/app.ts | |
| parent | c530e75c7fe3a93d095a036c21a24415dba8801b (diff) | |
| download | coinos-server-89163fd9a9e79bfc4d2e6cfe72ad109419705276.tar.gz coinos-server-89163fd9a9e79bfc4d2e6cfe72ad109419705276.zip | |
request logging
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, { |
