diff --git a/src/logger.ts b/src/logger.ts index d05ee26..714bbe1 100644 --- a/src/logger.ts +++ b/src/logger.ts @@ -1,4 +1,4 @@ -import type { FastifyReply, FastifyRequest } from 'fastify' +import type { FastifyServerOptions } from 'fastify' import crypto from 'node:crypto' import pino from 'pino' import redactEnv from 'redact-env' @@ -23,7 +23,7 @@ export function getLoggerOptions({ name, redactEnv = [], redactLogPaths = [] -}: Options) { +}: Options): FastifyServerOptions['logger'] { // todo: Move env redaction to a Pino v7+ Transport return { level: @@ -48,25 +48,27 @@ export function getLoggerOptions({ commit: process.env.COMMIT_ID?.slice(0, 8) }, serializers: { - req(req: FastifyRequest) { + req(req) { return { method: req.method, url: req.url, headers: req.headers } }, - res(res: FastifyReply) { + res(res) { return { statusCode: res.statusCode, - headers: res.getHeaders() + headers: res.getHeaders?.() ?? {} } } } } } -export const makeReqIdGenerator = (defaultSalt: string = randomID()) => - function genReqId(req: FastifyRequest): string { +export const makeReqIdGenerator = ( + defaultSalt: string = randomID() +): FastifyServerOptions['genReqId'] => + function genReqId(req) { let ipAddress: string = '' const xForwardedFor = req.headers['x-forwarded-for'] if (xForwardedFor) {