The @axiomhq/nextjs
package allows you to send data from a Next.js app to Axiom.
// lib/axiom/server.ts
import axiomClient from '@/lib/axiom/axiom';
import { Logger, ConsoleTransport, AxiomJSTransport } from '@axiomhq/logging';
import { createAxiomRouteHandler, nextJsFormatters } from '@axiomhq/nextjs';
export const logger = new Logger({
transports: [
new AxiomJSTransport({ axiom: axiomClient, dataset: process.env.NEXT_PUBLIC_AXIOM_DATASET! }),
new ConsoleTransport({ prettyPrint: true }),
],
formatters: nextJsFormatters,
});
export const withAxiom = createAxiomRouteHandler(logger);
// api/route.ts
import { withAxiom } from '@/lib/axiom/server';
export const GET = withAxiom(async () => {
logger.info('Hello World!');
return new Response('Hello World!');
});
npm install @axiomhq/js @axiomhq/logging @axiomhq/nextjs @axiomhq/react
For more information about how to set up and use the @axiomhq/nextjs
package, see the axiom.co/docs/send-data/nextjs.