Skip to content

Commit

Permalink
Merge pull request #250 from axiomhq/fix/remove-edge-report
Browse files Browse the repository at this point in the history
fix: remove edge reports in favor of vercel default reports
  • Loading branch information
gabrielelpidio authored Dec 12, 2024
2 parents 793efba + 339d7b3 commit a88fccf
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 26 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "next-axiom",
"description": "Send WebVitals from your Next.js project to Axiom.",
"version": "1.7.0",
"version": "1.8.0",
"author": "Axiom, Inc.",
"license": "MIT",
"contributors": [
Expand Down
41 changes: 18 additions & 23 deletions src/withAxiom.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ export function withAxiomRouteHandler(handler: NextHandler, config?: AxiomRouteH
const logger = new Logger({ req: report, source: isEdgeRuntime ? 'edge' : 'lambda' });
// child logger to be used by the users within the handler
const log = logger.with({});
log.config.source = isEdgeRuntime ? 'edge-log' : 'lambda-log';
log.config.source = `${isEdgeRuntime ? 'edge' : 'lambda'}${!isVercelIntegration ? '-log' : ''}`;
const axiomContext = req as AxiomRequest;
const args = arg;
axiomContext.log = log;
Expand All @@ -113,49 +113,44 @@ export function withAxiomRouteHandler(handler: NextHandler, config?: AxiomRouteH
// report log record
report.statusCode = result.status;
report.durationMs = report.endTime - report.startTime;
logger.logHttpRequest(
LogLevel.info,
`[${req.method}] ${report.path} ${report.statusCode} ${report.endTime - report.startTime}ms`,
report,
{}
);
if (!isVercelIntegration) {
logger.logHttpRequest(
LogLevel.info,
`[${req.method}] ${report.path} ${report.statusCode} ${report.endTime - report.startTime}ms`,
report,
{}
);
}

// attach the response status to all children logs
log.attachResponseStatus(result.status);

// flush the logger along with the child logger
await logger.flush();
if (isEdgeRuntime && isVercelIntegration) {
logEdgeReport(report);
}
return result;
} catch (error: any) {
report.endTime = new Date().getTime();
// report log record
report.statusCode = 500;
report.durationMs = report.endTime - report.startTime;
logger.logHttpRequest(
LogLevel.error,
`[${req.method}] ${report.path} ${report.statusCode} ${report.endTime - report.startTime}ms`,
report,
{}
);
if (!isVercelIntegration) {
logger.logHttpRequest(
LogLevel.error,
`[${req.method}] ${report.path} ${report.statusCode} ${report.endTime - report.startTime}ms`,
report,
{}
);
}

log.error(error.message, { error });
log.attachResponseStatus(500);

await logger.flush();
if (isEdgeRuntime && isVercelIntegration) {
logEdgeReport(report);
}
throw error;
}
};
}

function logEdgeReport(report: RequestReport) {
console.log(`AXIOM_EDGE_REPORT::${JSON.stringify(report)}`);
}

type WithAxiomParam = NextConfig | NextHandler;

function isNextConfig(param: WithAxiomParam): param is NextConfig {
Expand Down

0 comments on commit a88fccf

Please sign in to comment.