mirror of
https://github.com/formbricks/formbricks.git
synced 2026-05-07 14:21:52 -05:00
feat: pino logger for formbricks (#2296)
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
This commit is contained in:
committed by
GitHub
parent
b72cda05c1
commit
dadc337955
+2
-1
@@ -5,6 +5,7 @@ import { getServerSession } from "next-auth";
|
||||
import { canUserAccessAttributeClass } from "@formbricks/lib/attributeClass/auth";
|
||||
import { authOptions } from "@formbricks/lib/authOptions";
|
||||
import { getSegmentsByAttributeClassName } from "@formbricks/lib/segment/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { TAttributeClass } from "@formbricks/types/attributeClasses";
|
||||
import { AuthorizationError } from "@formbricks/types/errors";
|
||||
|
||||
@@ -36,7 +37,7 @@ export const getSegmentsByAttributeClassAction = async (
|
||||
|
||||
return { activeSurveys, inactiveSurveys };
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
logger.error(`Error getting segments by attribute class: ${err}`);
|
||||
throw err;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@ import { deleteInvite, getInvite } from "@formbricks/lib/invite/service";
|
||||
import { verifyInviteToken } from "@formbricks/lib/jwt";
|
||||
import { createMembership } from "@formbricks/lib/membership/service";
|
||||
import { updateUser } from "@formbricks/lib/user/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
|
||||
import {
|
||||
ExpiredContent,
|
||||
@@ -49,7 +50,7 @@ export default async function InvitePage({ searchParams }) {
|
||||
return <RightAccountContent />;
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
logger.error(e);
|
||||
return <InvitationNotFound />;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { notFound, redirect } from "next/navigation";
|
||||
|
||||
import { getShortUrl } from "@formbricks/lib/shortUrl/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZShortUrlId } from "@formbricks/types/shortUrl";
|
||||
|
||||
export default async function ShortUrlPage({ params }) {
|
||||
@@ -18,7 +19,7 @@ export default async function ShortUrlPage({ params }) {
|
||||
try {
|
||||
shortUrl = await getShortUrl(params.shortUrlId);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
}
|
||||
|
||||
if (shortUrl) {
|
||||
|
||||
@@ -9,6 +9,7 @@ import {
|
||||
getMonthlyTeamResponseCount,
|
||||
getTeamsWithPaidPlan,
|
||||
} from "@formbricks/lib/team/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { TTeam } from "@formbricks/types/teams";
|
||||
|
||||
async function reportTeamUsage(team: TTeam) {
|
||||
@@ -65,7 +66,7 @@ export async function POST(): Promise<Response> {
|
||||
|
||||
return responses.successResponse({}, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse("Unable to handle the request: " + error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import { getServerSession } from "next-auth";
|
||||
import { NextRequest } from "next/server";
|
||||
|
||||
import { authOptions } from "@formbricks/lib/authOptions";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
const session = await getServerSession(authOptions);
|
||||
@@ -29,7 +30,7 @@ export async function POST(request: NextRequest) {
|
||||
try {
|
||||
csv = await parser.parse(json).promise();
|
||||
} catch (err) {
|
||||
console.log({ err });
|
||||
logger.error(err);
|
||||
throw new Error("Failed to convert to CSV");
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
|
||||
import { getResponseCountBySurveyId } from "@formbricks/lib/response/service";
|
||||
import { getSurvey, updateSurvey } from "@formbricks/lib/survey/service";
|
||||
import { convertDatesInObject } from "@formbricks/lib/time";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { checkForRecallInHeadline } from "@formbricks/lib/utils/recall";
|
||||
import { ZPipelineInput } from "@formbricks/types/pipelines";
|
||||
import { TUserNotificationSettings } from "@formbricks/types/user";
|
||||
@@ -28,7 +29,7 @@ export async function POST(request: Request) {
|
||||
const inputValidation = ZPipelineInput.safeParse(jsonInput);
|
||||
|
||||
if (!inputValidation.success) {
|
||||
console.error(inputValidation.error);
|
||||
logger.error(inputValidation.error);
|
||||
return responses.badRequestResponse(
|
||||
"Fields are missing or incorrectly formatted",
|
||||
transformErrorToDetails(inputValidation.error),
|
||||
@@ -125,7 +126,7 @@ export async function POST(request: Request) {
|
||||
|
||||
if (usersWithNotifications.length > 0) {
|
||||
if (!survey) {
|
||||
console.error(`Pipeline: Survey with id ${surveyId} not found`);
|
||||
logger.error(`Pipeline: Survey with id ${surveyId} not found`);
|
||||
return new Response("Survey not found", {
|
||||
status: 404,
|
||||
});
|
||||
|
||||
+2
-1
@@ -9,6 +9,7 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
|
||||
import { surveyCache } from "@formbricks/lib/survey/cache";
|
||||
import { getSyncSurveys } from "@formbricks/lib/survey/service";
|
||||
import { getTeamByEnvironmentId } from "@formbricks/lib/team/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { TJsStateSync, ZJsPeopleAttributeInput } from "@formbricks/types/js";
|
||||
|
||||
interface Context {
|
||||
@@ -96,7 +97,7 @@ export async function POST(req: Request, context: Context): Promise<Response> {
|
||||
|
||||
return responses.successResponse({ ...state }, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(`Unable to complete request: ${error.message}`, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { responses } from "@/app/lib/api/response";
|
||||
import { transformErrorToDetails } from "@/app/lib/api/validator";
|
||||
|
||||
import { updateDisplayLegacy } from "@formbricks/lib/display/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZDisplayLegacyUpdateInput } from "@formbricks/types/displays";
|
||||
|
||||
export async function OPTIONS(): Promise<Response> {
|
||||
@@ -30,7 +31,7 @@ export async function PUT(
|
||||
const display = await updateDisplayLegacy(displayId, inputValidation.data);
|
||||
return responses.successResponse(display, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import { transformErrorToDetails } from "@/app/lib/api/validator";
|
||||
import { createDisplayLegacy } from "@formbricks/lib/display/service";
|
||||
import { capturePosthogEnvironmentEvent } from "@formbricks/lib/posthogServer";
|
||||
import { getSurvey } from "@formbricks/lib/survey/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { TDisplay, ZDisplayLegacyCreateInput } from "@formbricks/types/displays";
|
||||
import { InvalidInputError } from "@formbricks/types/errors";
|
||||
|
||||
@@ -38,7 +39,7 @@ export async function POST(request: Request): Promise<Response> {
|
||||
if (error instanceof InvalidInputError) {
|
||||
return responses.badRequestResponse(error.message);
|
||||
} else {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
@@ -55,7 +56,7 @@ export async function POST(request: Request): Promise<Response> {
|
||||
if (error instanceof InvalidInputError) {
|
||||
return responses.badRequestResponse(error.message);
|
||||
} else {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
|
||||
import { surveyCache } from "@formbricks/lib/survey/cache";
|
||||
import { getSyncSurveys } from "@formbricks/lib/survey/service";
|
||||
import { getTeamByEnvironmentId } from "@formbricks/lib/team/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { TJsStateSync, ZJsPeopleAttributeInput } from "@formbricks/types/js";
|
||||
|
||||
interface Context {
|
||||
@@ -95,7 +96,7 @@ export async function POST(req: Request, context: Context): Promise<Response> {
|
||||
|
||||
return responses.successResponse({ ...state }, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(`Unable to complete request: ${error.message}`, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import { sendToPipeline } from "@/app/lib/pipelines";
|
||||
|
||||
import { updateResponse } from "@formbricks/lib/response/service";
|
||||
import { getSurvey } from "@formbricks/lib/survey/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { DatabaseError, InvalidInputError, ResourceNotFoundError } from "@formbricks/types/errors";
|
||||
import { ZResponseUpdateInput } from "@formbricks/types/responses";
|
||||
|
||||
@@ -45,7 +46,7 @@ export async function PUT(
|
||||
return responses.badRequestResponse(error.message);
|
||||
}
|
||||
if (error instanceof DatabaseError) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
@@ -59,7 +60,7 @@ export async function PUT(
|
||||
return responses.badRequestResponse(error.message);
|
||||
}
|
||||
if (error instanceof DatabaseError) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import { UAParser } from "ua-parser-js";
|
||||
import { capturePosthogEnvironmentEvent } from "@formbricks/lib/posthogServer";
|
||||
import { createResponseLegacy } from "@formbricks/lib/response/service";
|
||||
import { getSurvey } from "@formbricks/lib/survey/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { InvalidInputError } from "@formbricks/types/errors";
|
||||
import { TResponse, ZResponseLegacyInput } from "@formbricks/types/responses";
|
||||
import { TSurvey } from "@formbricks/types/surveys";
|
||||
@@ -47,7 +48,7 @@ export async function POST(request: Request): Promise<Response> {
|
||||
if (error instanceof InvalidInputError) {
|
||||
return responses.badRequestResponse(error.message);
|
||||
} else {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
@@ -79,7 +80,7 @@ export async function POST(request: Request): Promise<Response> {
|
||||
if (error instanceof InvalidInputError) {
|
||||
return responses.badRequestResponse(error.message);
|
||||
} else {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import { createAttributeClass, getAttributeClassByName } from "@formbricks/lib/a
|
||||
import { personCache } from "@formbricks/lib/person/cache";
|
||||
import { getPerson, updatePersonAttribute } from "@formbricks/lib/person/service";
|
||||
import { surveyCache } from "@formbricks/lib/survey/cache";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZJsPeopleLegacyAttributeInput } from "@formbricks/types/js";
|
||||
import { TPersonClient } from "@formbricks/types/people";
|
||||
|
||||
@@ -77,7 +78,7 @@ export async function POST(req: Request, { params }): Promise<Response> {
|
||||
|
||||
return responses.successResponse({ ...state, person }, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(`Unable to complete request: ${error.message}`, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import { responses } from "@/app/lib/api/response";
|
||||
import { transformErrorToDetails } from "@/app/lib/api/validator";
|
||||
|
||||
import { createPerson, getPersonByUserId } from "@formbricks/lib/person/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZJsPeopleUserIdInput } from "@formbricks/types/js";
|
||||
|
||||
export async function OPTIONS(): Promise<Response> {
|
||||
@@ -39,7 +40,7 @@ export async function POST(req: Request): Promise<Response> {
|
||||
const state = await getUpdatedState(environmentId, person.id);
|
||||
return responses.successResponse({ ...state, person: personClient }, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse("Unable to handle the request: " + error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { getUpdatedState } from "@/app/api/v1/(legacy)/js/sync/lib/sync";
|
||||
import { responses } from "@/app/lib/api/response";
|
||||
import { transformErrorToDetails } from "@/app/lib/api/validator";
|
||||
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZJsSyncLegacyInput } from "@formbricks/types/js";
|
||||
import { TPersonClient } from "@formbricks/types/people";
|
||||
|
||||
@@ -38,7 +39,7 @@ export async function POST(req: Request): Promise<Response> {
|
||||
|
||||
return responses.successResponse({ ...state, person }, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse("Unable to handle the request: " + error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { responses } from "@/app/lib/api/response";
|
||||
import { transformErrorToDetails } from "@/app/lib/api/validator";
|
||||
|
||||
import { createAction } from "@formbricks/lib/action/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZActionInput } from "@formbricks/types/actions";
|
||||
|
||||
interface Context {
|
||||
@@ -36,7 +37,7 @@ export async function POST(req: Request, context: Context): Promise<Response> {
|
||||
|
||||
return responses.successResponse({}, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse("Unable to handle the request: " + error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { responses } from "@/app/lib/api/response";
|
||||
import { transformErrorToDetails } from "@/app/lib/api/validator";
|
||||
|
||||
import { updateDisplay } from "@formbricks/lib/display/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZDisplayUpdateInput } from "@formbricks/types/displays";
|
||||
|
||||
interface Context {
|
||||
@@ -35,7 +36,7 @@ export async function PUT(request: Request, context: Context): Promise<Response>
|
||||
await updateDisplay(displayId, inputValidation.data);
|
||||
return responses.successResponse({}, true);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import { transformErrorToDetails } from "@/app/lib/api/validator";
|
||||
|
||||
import { createDisplay } from "@formbricks/lib/display/service";
|
||||
import { capturePosthogEnvironmentEvent } from "@formbricks/lib/posthogServer";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZDisplayCreateInput } from "@formbricks/types/displays";
|
||||
import { InvalidInputError } from "@formbricks/types/errors";
|
||||
|
||||
@@ -41,7 +42,7 @@ export async function POST(request: Request, context: Context): Promise<Response
|
||||
if (error instanceof InvalidInputError) {
|
||||
return responses.badRequestResponse(error.message);
|
||||
} else {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import {
|
||||
getMonthlyTeamResponseCount,
|
||||
getTeamByEnvironmentId,
|
||||
} from "@formbricks/lib/team/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { isVersionGreaterThanOrEqualTo } from "@formbricks/lib/utils/version";
|
||||
import { TLegacySurvey } from "@formbricks/types/LegacySurvey";
|
||||
import { TEnvironment } from "@formbricks/types/environment";
|
||||
@@ -197,7 +198,7 @@ export async function GET(
|
||||
"public, s-maxage=100, max-age=110, stale-while-revalidate=100, stale-if-error=100"
|
||||
);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse("Unable to handle the request: " + error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
|
||||
import { COLOR_DEFAULTS } from "@formbricks/lib/styling/constants";
|
||||
import { createSurvey, getSurveys, transformToLegacySurvey } from "@formbricks/lib/survey/service";
|
||||
import { getMonthlyTeamResponseCount, getTeamByEnvironmentId } from "@formbricks/lib/team/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { isVersionGreaterThanOrEqualTo } from "@formbricks/lib/utils/version";
|
||||
import { TLegacySurvey } from "@formbricks/types/LegacySurvey";
|
||||
import { TJsStateSync, ZJsPublicSyncInput } from "@formbricks/types/js";
|
||||
@@ -141,7 +142,7 @@ export async function GET(
|
||||
"public, s-maxage=600, max-age=840, stale-while-revalidate=600, stale-if-error=600"
|
||||
);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(`Unable to complete response: ${error.message}`, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { responses } from "@/app/lib/api/response";
|
||||
import { transformErrorToDetails } from "@/app/lib/api/validator";
|
||||
|
||||
import { createPerson, getPersonByUserId, updatePerson } from "@formbricks/lib/person/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZPersonUpdateInput } from "@formbricks/types/people";
|
||||
|
||||
interface Context {
|
||||
@@ -69,7 +70,7 @@ export async function POST(req: Request, context: Context): Promise<Response> {
|
||||
true
|
||||
);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(`Unable to complete request: ${error.message}`, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import { sendToPipeline } from "@/app/lib/pipelines";
|
||||
import { getPerson } from "@formbricks/lib/person/service";
|
||||
import { updateResponse } from "@formbricks/lib/response/service";
|
||||
import { getSurvey } from "@formbricks/lib/survey/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { DatabaseError, InvalidInputError, ResourceNotFoundError } from "@formbricks/types/errors";
|
||||
import { ZResponseUpdateInput } from "@formbricks/types/responses";
|
||||
|
||||
@@ -53,7 +54,7 @@ export async function PUT(
|
||||
return responses.badRequestResponse(error.message);
|
||||
}
|
||||
if (error instanceof DatabaseError) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
@@ -67,7 +68,7 @@ export async function PUT(
|
||||
return responses.badRequestResponse(error.message);
|
||||
}
|
||||
if (error instanceof DatabaseError) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import { getPerson } from "@formbricks/lib/person/service";
|
||||
import { capturePosthogEnvironmentEvent } from "@formbricks/lib/posthogServer";
|
||||
import { createResponse } from "@formbricks/lib/response/service";
|
||||
import { getSurvey } from "@formbricks/lib/survey/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { ZId } from "@formbricks/types/environment";
|
||||
import { InvalidInputError } from "@formbricks/types/errors";
|
||||
import { TResponse, ZResponseInput } from "@formbricks/types/responses";
|
||||
@@ -96,7 +97,7 @@ export async function POST(request: Request, context: Context): Promise<Response
|
||||
if (error instanceof InvalidInputError) {
|
||||
return responses.badRequestResponse(error.message);
|
||||
} else {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
return responses.internalServerErrorResponse(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import { connectAirtable, fetchAirtableAuthToken } from "@formbricks/lib/airtabl
|
||||
import { authOptions } from "@formbricks/lib/authOptions";
|
||||
import { AIRTABLE_CLIENT_ID, WEBAPP_URL } from "@formbricks/lib/constants";
|
||||
import { hasUserEnvironmentAccess } from "@formbricks/lib/environment/auth";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
|
||||
async function getEmail(token: string) {
|
||||
const req_ = await fetch("https://api.airtable.com/v0/meta/whoami", {
|
||||
@@ -72,7 +73,7 @@ export async function GET(req: NextRequest) {
|
||||
});
|
||||
return Response.redirect(`${WEBAPP_URL}/environments/${environmentId}/integrations/airtable`);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
responses.internalServerErrorResponse(error);
|
||||
}
|
||||
responses.badRequestResponse("unknown error occurred");
|
||||
|
||||
@@ -2,6 +2,7 @@ import { responses } from "@/app/lib/api/response";
|
||||
import { headers } from "next/headers";
|
||||
|
||||
import { getApiKeyFromKey } from "@formbricks/lib/apiKey/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { deleteWebhook, getWebhook } from "@formbricks/lib/webhook/service";
|
||||
|
||||
export async function GET(_: Request, { params }: { params: { webhookId: string } }) {
|
||||
@@ -49,7 +50,7 @@ export async function DELETE(_: Request, { params }: { params: { webhookId: stri
|
||||
const webhook = await deleteWebhook(params.webhookId);
|
||||
return responses.successResponse(webhook);
|
||||
} catch (e) {
|
||||
console.error(e.message);
|
||||
logger.error(e.message);
|
||||
return responses.notFoundResponse("Webhook", params.webhookId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import { authOptions } from "@formbricks/lib/authOptions";
|
||||
import { ONBOARDING_DISABLED } from "@formbricks/lib/constants";
|
||||
import { getFirstEnvironmentByUserId } from "@formbricks/lib/environment/service";
|
||||
import { getTeamsByUserId } from "@formbricks/lib/team/service";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import ClientLogout from "@formbricks/ui/ClientLogout";
|
||||
|
||||
export default async function Home() {
|
||||
@@ -21,7 +22,7 @@ export default async function Home() {
|
||||
|
||||
const teams = await getTeamsByUserId(session.user.id);
|
||||
if (!teams || teams.length === 0) {
|
||||
console.error("Failed to get teams, redirecting to create-first-team");
|
||||
logger.error("Failed to get teams, redirecting to create-first-team");
|
||||
return redirect("/create-first-team");
|
||||
}
|
||||
|
||||
@@ -36,11 +37,11 @@ export default async function Home() {
|
||||
throw new Error("No environment found");
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("error getting environment", error);
|
||||
logger.error(`error getting environment: ${error}`);
|
||||
}
|
||||
|
||||
if (!environment) {
|
||||
console.error("Failed to get first environment of user; signing out");
|
||||
logger.error("Failed to get first environment of user; signing out");
|
||||
return <ClientLogout />;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
import { TResponseData } from "@formbricks/types/responses";
|
||||
import { TSurveyQuestionType } from "@formbricks/types/surveys";
|
||||
import { TSurvey, TSurveyQuestion } from "@formbricks/types/surveys";
|
||||
@@ -31,7 +32,7 @@ export function getPrefillResponseData(
|
||||
return answerObj;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
logger.error(error);
|
||||
}
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ import { NodeSDK } from "@opentelemetry/sdk-node";
|
||||
import { SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
|
||||
import { SEMRESATTRS_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
|
||||
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
|
||||
export function startInstrumentationForNode(url: string) {
|
||||
try {
|
||||
const exporter = new OTLPTraceExporter({
|
||||
@@ -22,6 +24,6 @@ export function startInstrumentationForNode(url: string) {
|
||||
|
||||
sdk.start();
|
||||
} catch (err) {
|
||||
console.error("Unable to setup Telemetry:", err);
|
||||
logger.error(`Unable to setup Telemetry: ${err}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import { NextResponse } from "next/server";
|
||||
import type { NextRequest } from "next/server";
|
||||
|
||||
import { RATE_LIMITING_DISABLED, WEBAPP_URL } from "@formbricks/lib/constants";
|
||||
import { logger } from "@formbricks/lib/utils/logger";
|
||||
|
||||
export async function middleware(request: NextRequest) {
|
||||
const token = await getToken({ req: request });
|
||||
@@ -31,7 +32,6 @@ export async function middleware(request: NextRequest) {
|
||||
if (token && callbackUrl) {
|
||||
return NextResponse.redirect(WEBAPP_URL + callbackUrl);
|
||||
}
|
||||
|
||||
if (process.env.NODE_ENV !== "production" || RATE_LIMITING_DISABLED) {
|
||||
return NextResponse.next();
|
||||
}
|
||||
@@ -62,7 +62,7 @@ export async function middleware(request: NextRequest) {
|
||||
}
|
||||
return res;
|
||||
} catch (_e) {
|
||||
console.log("Rate Limiting IP: ", ip);
|
||||
logger.info(`Rate Limiting IP: ${ip}`);
|
||||
|
||||
return NextResponse.json({ error: "Too many requests, Please try after a while!" }, { status: 429 });
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ const nextConfig = {
|
||||
assetPrefix: process.env.ASSET_PREFIX_URL || undefined,
|
||||
output: "standalone",
|
||||
experimental: {
|
||||
serverComponentsExternalPackages: ["@aws-sdk"],
|
||||
serverComponentsExternalPackages: ["@aws-sdk","pino"],
|
||||
instrumentationHook: true,
|
||||
outputFileTracingIncludes: {
|
||||
"app/api/js": ["../../packages/**/*"],
|
||||
|
||||
Reference in New Issue
Block a user