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
+3 -1
View File
@@ -8,10 +8,12 @@ import { testCredentialsHandler } from '@documenso/lib/server-only/public-api/te
import { listDocumentsHandler } from '@documenso/lib/server-only/webhooks/zapier/list-documents';
import { subscribeHandler } from '@documenso/lib/server-only/webhooks/zapier/subscribe';
import { unsubscribeHandler } from '@documenso/lib/server-only/webhooks/zapier/unsubscribe';
// This is a bit nasty. Todo: Extract
import type { HonoEnv } from '@documenso/remix/server/router';
// This is bad, ts-router will be created on each request.
// But don't really have a choice here.
export const tsRestHonoApp = new Hono();
export const tsRestHonoApp = new Hono<HonoEnv>();
tsRestHonoApp
.get('/openapi', (c) => c.redirect('https://openapi-v1.documenso.com'))
@@ -5,6 +5,7 @@ import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import { getApiTokenByToken } from '@documenso/lib/server-only/public-api/get-api-token-by-token';
import type { ApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
import { extractRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
import { logger } from '@documenso/lib/utils/logger';
type B = {
// appRoute: any;
@@ -62,6 +63,17 @@ export const authenticatedMiddleware = <
},
};
// Todo: Get from Hono context instead.
logger.info({
ipAddress: metadata.requestMetadata.ipAddress,
userAgent: metadata.requestMetadata.userAgent,
auth: 'api',
source: 'apiV1',
path: request.url,
userId: apiToken.user.id,
apiTokenId: apiToken.id,
});
return await handler(
{
...args,