@flarelog/sdk / withVercelEdge
Function: withVercelEdge()
Call Signature
withVercelEdge(
logger,handler):VercelEdgeHandler
Defined in: frameworks/vercel.ts:193
Wrap a Vercel Edge Function or Edge Middleware handler with automatic OTel instrumentation.
For FlareLog instances (which have withRequest), this delegates to the full OTel span treatment — extracting W3C traceparent, creating a SPAN_KIND_SERVER span, and flushing telemetry.
For plain FlareLogLike loggers (e.g. in tests), it falls back to a lighter touch: creates a child logger with request context and emits start/complete logs.
Parameters
logger
handler
Returns
Examples
Edge Function
// api/edge-hello.ts
import { flarelog } from "@flarelog/sdk";
import { withVercelEdge } from "@flarelog/sdk/vercel";
export const config = { runtime: "edge" };
const logger = flarelog({});
export default withVercelEdge(logger, async (request) => {
return new Response("Hello from the edge!", { status: 200 });
});Edge Middleware
// middleware.ts
import { flarelog } from "@flarelog/sdk";
import { withVercelEdge } from "@flarelog/sdk/vercel";
const logger = flarelog({});
export default withVercelEdge(logger, async (request) => {
const url = new URL(request.url);
logger.info("Middleware executed", { path: url.pathname });
return NextResponse.next();
});Call Signature
withVercelEdge(
logger,handler):VercelEdgeHandler
Defined in: frameworks/vercel.ts:197
Wrap a Vercel Edge Function or Edge Middleware handler with automatic OTel instrumentation.
For FlareLog instances (which have withRequest), this delegates to the full OTel span treatment — extracting W3C traceparent, creating a SPAN_KIND_SERVER span, and flushing telemetry.
For plain FlareLogLike loggers (e.g. in tests), it falls back to a lighter touch: creates a child logger with request context and emits start/complete logs.
Parameters
logger
handler
Returns
Examples
Edge Function
// api/edge-hello.ts
import { flarelog } from "@flarelog/sdk";
import { withVercelEdge } from "@flarelog/sdk/vercel";
export const config = { runtime: "edge" };
const logger = flarelog({});
export default withVercelEdge(logger, async (request) => {
return new Response("Hello from the edge!", { status: 200 });
});Edge Middleware
// middleware.ts
import { flarelog } from "@flarelog/sdk";
import { withVercelEdge } from "@flarelog/sdk/vercel";
const logger = flarelog({});
export default withVercelEdge(logger, async (request) => {
const url = new URL(request.url);
logger.info("Middleware executed", { path: url.pathname });
return NextResponse.next();
});