feat: api logging by pino (#1865)

experiemental
This commit is contained in:
David Nguyen
2025-06-27 21:44:51 +10:00
committed by GitHub
parent 21dc4eee62
commit e07a497b69
10 changed files with 389 additions and 116 deletions
+8 -1
View File
@@ -1,14 +1,17 @@
import type { Session } from '@prisma/client';
import type { Context } from 'hono';
import type { Logger } from 'pino';
import { z } from 'zod';
import type { SessionUser } from '@documenso/auth/server/lib/session/session';
import { getOptionalSession } from '@documenso/auth/server/lib/utils/get-session';
import type { ApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
import { extractRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
// This is a bit nasty. Todo: Extract
import type { HonoEnv } from '@documenso/remix/server/router';
type CreateTrpcContextOptions = {
c: Context;
c: Context<HonoEnv>;
requestSource: 'app' | 'apiV1' | 'apiV2';
};
@@ -19,6 +22,7 @@ export const createTrpcContext = async ({
const { session, user } = await getOptionalSession(c);
const req = c.req.raw;
const logger = c.get('logger');
const metadata: ApiRequestMetadata = {
requestMetadata: extractRequestMetadata(req),
@@ -36,6 +40,7 @@ export const createTrpcContext = async ({
if (!session || !user) {
return {
logger,
session: null,
user: null,
teamId,
@@ -45,6 +50,7 @@ export const createTrpcContext = async ({
}
return {
logger,
session,
user,
teamId,
@@ -66,4 +72,5 @@ export type TrpcContext = (
teamId: number | undefined;
req: Request;
metadata: ApiRequestMetadata;
logger: Logger;
};