[{"data":1,"prerenderedAt":2243},["ShallowReactive",2],{"navigation_docs":3,"-use-cases-ai-sdk-overview":612,"-use-cases-ai-sdk-overview-surround":2238},[4,35,85,138,318,453,489,548,587],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Start","\u002Fstart","1.start",[9,14,19,24,29],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",{"title":30,"path":31,"stem":32,"icon":33},"Choose your logger","\u002Fstart\u002Ftypescript-logging-library","1.start\u002F5.typescript-logging-library","i-lucide-file-code",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Learn","\u002Flearn","2.learn",[40,45,50,55,60,65,70,75,80],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":51,"path":52,"stem":53,"icon":54},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":56,"path":57,"stem":58,"icon":59},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":61,"path":62,"stem":63,"icon":64},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":66,"path":67,"stem":68,"icon":69},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":71,"path":72,"stem":73,"icon":74},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":76,"path":77,"stem":78,"icon":79},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":81,"path":82,"stem":83,"icon":84},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":86,"path":87,"stem":88,"children":89,"page":34},"CLI","\u002Fcli","3.cli",[90,93,98,103,108,113,118,123,128,133],{"title":41,"path":91,"stem":92,"icon":49},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":94,"path":95,"stem":96,"icon":97},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":99,"path":100,"stem":101,"icon":102},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":104,"path":105,"stem":106,"icon":107},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":109,"path":110,"stem":111,"icon":112},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":114,"path":115,"stem":116,"icon":117},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":119,"path":120,"stem":121,"icon":122},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":124,"path":125,"stem":126,"icon":127},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":129,"path":130,"stem":131,"icon":132},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":134,"path":135,"stem":136,"icon":137},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":139,"path":140,"stem":141,"children":142,"page":34},"Integrate","\u002Fintegrate","4.integrate",[143,147,230],{"title":41,"path":144,"stem":145,"icon":146},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":148,"path":149,"stem":150,"children":151,"page":34},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[152,155,185,210],{"title":41,"path":153,"stem":154,"icon":44},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":156,"path":157,"stem":158,"children":159,"page":34},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[160,165,170,175,180],{"title":161,"path":162,"stem":163,"icon":164},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":166,"path":167,"stem":168,"icon":169},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":171,"path":172,"stem":173,"icon":174},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":176,"path":177,"stem":178,"icon":179},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":181,"path":182,"stem":183,"icon":184},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":186,"path":187,"stem":188,"children":189,"page":34},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[190,195,200,205],{"title":191,"path":192,"stem":193,"icon":194},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":196,"path":197,"stem":198,"icon":199},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":201,"path":202,"stem":203,"icon":204},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":206,"path":207,"stem":208,"icon":209},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":211,"path":212,"stem":213,"children":214,"page":34},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[215,220,225],{"title":216,"path":217,"stem":218,"icon":219},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":221,"path":222,"stem":223,"icon":224},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":226,"path":227,"stem":228,"icon":229},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":231,"path":232,"stem":233,"children":234,"page":34},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[235,239,244,249,254,259,264,269,274,279,284,289,294,299,303,308,313],{"title":41,"path":236,"stem":237,"icon":238},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":240,"path":241,"stem":242,"icon":243},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":245,"path":246,"stem":247,"icon":248},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":250,"path":251,"stem":252,"icon":253},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":255,"path":256,"stem":257,"icon":258},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":260,"path":261,"stem":262,"icon":263},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":265,"path":266,"stem":267,"icon":268},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":270,"path":271,"stem":272,"icon":273},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":275,"path":276,"stem":277,"icon":278},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":280,"path":281,"stem":282,"icon":283},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":285,"path":286,"stem":287,"icon":288},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":290,"path":291,"stem":292,"icon":293},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":295,"path":296,"stem":297,"icon":298},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":300,"path":301,"stem":302,"icon":79},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":304,"path":305,"stem":306,"icon":307},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":309,"path":310,"stem":311,"icon":312},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":314,"path":315,"stem":316,"icon":317},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":319,"path":320,"stem":321,"children":322,"page":34},"Use Cases","\u002Fuse-cases","5.use-cases",[323,326,331,359,386,418,439,444,449],{"title":41,"path":324,"stem":325,"icon":107},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":327,"path":328,"stem":329,"icon":330},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":332,"icon":333,"path":334,"stem":335,"children":336,"page":34},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[337,340,345,350,355],{"title":41,"path":338,"stem":339,"icon":44},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":341,"path":342,"stem":343,"icon":344},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":346,"path":347,"stem":348,"icon":349},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":351,"path":352,"stem":353,"icon":354},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":356,"path":357,"stem":358,"icon":137},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":360,"icon":361,"path":362,"stem":363,"children":364,"page":34},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[365,368,373,378,382],{"title":41,"path":366,"stem":367,"icon":44},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":369,"path":370,"stem":371,"icon":372},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":374,"path":375,"stem":376,"icon":377},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":379,"path":380,"stem":381,"icon":330},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":383,"path":384,"stem":385,"icon":112},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":387,"icon":388,"path":389,"stem":390,"children":391,"page":34},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[392,395,400,405,410,414],{"title":41,"path":393,"stem":394,"icon":44},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":396,"path":397,"stem":398,"icon":399},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":401,"path":402,"stem":403,"icon":404},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":406,"path":407,"stem":408,"icon":409},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":411,"path":412,"stem":413,"icon":388},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":415,"path":416,"stem":417,"icon":84},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":356,"icon":112,"path":419,"stem":420,"children":421,"page":34},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[422,425,430,435],{"title":41,"path":423,"stem":424,"icon":44},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":426,"path":427,"stem":428,"icon":429},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":431,"path":432,"stem":433,"icon":434},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":436,"path":437,"stem":438,"icon":84},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":440,"path":441,"stem":442,"icon":443},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":445,"path":446,"stem":447,"icon":448},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":450,"path":451,"stem":452,"icon":434},"Node.js request logging","\u002Fuse-cases\u002Fstructured-logging-nodejs","5.use-cases\u002F6.structured-logging-nodejs",{"title":454,"path":455,"stem":456,"children":457,"page":34},"Libraries","\u002Flibraries","6.libraries",[458,462,467,470,474,479,484],{"title":41,"path":459,"stem":460,"icon":461},"\u002Flibraries\u002Foverview","6.libraries\u002F0.overview","i-lucide-package",{"title":463,"path":464,"stem":465,"icon":466},"Emitting Events","\u002Flibraries\u002Femitting","6.libraries\u002F1.emitting","i-lucide-radio",{"title":56,"path":468,"stem":469,"icon":59},"\u002Flibraries\u002Ferrors","6.libraries\u002F2.errors",{"title":471,"path":472,"stem":473,"icon":132},"Errors Agents Can Act On","\u002Flibraries\u002Fagents","6.libraries\u002F3.agents",{"title":475,"path":476,"stem":477,"icon":478},"Exporting the Catalog","\u002Flibraries\u002Fexporting","6.libraries\u002F4.exporting","i-lucide-file-output",{"title":480,"path":481,"stem":482,"icon":483},"Migrating","\u002Flibraries\u002Fmigrating","6.libraries\u002F5.migrating","i-lucide-route",{"title":485,"path":486,"stem":487,"icon":488},"Testing","\u002Flibraries\u002Ftesting","6.libraries\u002F6.testing","i-lucide-flask-conical",{"title":490,"path":491,"stem":492,"children":493,"page":34},"Extend","\u002Fextend","7.extend",[494,498,503,508,512,517,521,525,529,533,538,543],{"title":41,"path":495,"stem":496,"icon":497},"\u002Fextend\u002Foverview","7.extend\u002F0.overview","i-lucide-blocks",{"title":499,"path":500,"stem":501,"icon":502},"Stream","\u002Fextend\u002Fstream","7.extend\u002F1.stream","i-lucide-radio-tower",{"title":504,"path":505,"stem":506,"icon":507},"Custom framework","\u002Fextend\u002Fcustom-framework","7.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":509,"path":510,"stem":511,"icon":502},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","7.extend\u002F11.diagnostics-channel",{"title":513,"path":514,"stem":515,"icon":516},"FS reader","\u002Fextend\u002Ffs-reader","7.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":415,"path":518,"stem":519,"icon":520},"\u002Fextend\u002Fconsumer-recipes","7.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":522,"path":523,"stem":524,"icon":497},"Plugins","\u002Fextend\u002Fplugins","7.extend\u002F4.plugins",{"title":526,"path":527,"stem":528,"icon":443},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","7.extend\u002F5.custom-enrichers",{"title":530,"path":531,"stem":532,"icon":69},"Tail sampling","\u002Fextend\u002Ftail-sampling","7.extend\u002F6.tail-sampling",{"title":534,"path":535,"stem":536,"icon":537},"Identity headers","\u002Fextend\u002Fidentity-headers","7.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":539,"path":540,"stem":541,"icon":542},"Custom drains","\u002Fextend\u002Fcustom-drains","7.extend\u002F8.custom-drains","i-lucide-share-2",{"title":544,"path":545,"stem":546,"icon":547},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","7.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":436,"path":549,"stem":550,"children":551,"page":34},"\u002Freference","8.reference",[552,556,561,564,569,573,578,582],{"title":41,"path":553,"stem":554,"icon":555},"\u002Freference\u002Foverview","8.reference\u002F0.overview","i-lucide-book-marked",{"title":557,"path":558,"stem":559,"icon":560},"Configuration","\u002Freference\u002Fconfiguration","8.reference\u002F1.configuration","i-lucide-settings",{"title":383,"path":562,"stem":563,"icon":112},"\u002Freference\u002Fperformance","8.reference\u002F2.performance",{"title":565,"path":566,"stem":567,"icon":568},"Vite Plugin","\u002Freference\u002Fvite-plugin","8.reference\u002F3.vite-plugin","i-custom-vite",{"title":570,"path":571,"stem":572,"icon":388},"Best Practices","\u002Freference\u002Fbest-practices","8.reference\u002F4.best-practices",{"title":574,"path":575,"stem":576,"icon":577},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","8.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":579,"path":580,"stem":581,"icon":443},"Agent Skills","\u002Freference\u002Fagent-skills","8.reference\u002F6.agent-skills",{"title":583,"path":584,"stem":585,"icon":586},"Cost","\u002Freference\u002Fcost","8.reference\u002F7.cost","i-lucide-receipt",{"title":588,"path":589,"stem":590,"children":591,"page":34},"Compare","\u002Fcompare","9.compare",[592,596,600,604,608],{"title":593,"path":594,"stem":595,"icon":577},"evlog vs Pino","\u002Fcompare\u002Fpino","9.compare\u002F1.pino",{"title":597,"path":598,"stem":599,"icon":204},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","9.compare\u002F2.opentelemetry",{"title":601,"path":602,"stem":603,"icon":577},"evlog vs LogTape","\u002Fcompare\u002Flogtape","9.compare\u002F3.logtape",{"title":605,"path":606,"stem":607,"icon":577},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","9.compare\u002F4.winston",{"title":609,"path":610,"stem":611,"icon":577},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","9.compare\u002F5.consola",{"id":613,"title":614,"body":615,"description":2225,"extension":2226,"links":2227,"meta":2234,"navigation":2235,"path":338,"seo":2236,"stem":339,"__hash__":2237},"docs\u002F5.use-cases\u002F2.ai-sdk\u002F01.overview.md","AI SDK Integration",{"type":616,"value":617,"toc":2218},"minimark",[618,626,679,684,687,758,761,764,767,1091,1094,1419,1423,1433,1541,1544,1548,1577,1581,1586,2214],[619,620,621,625],"p",{},[622,623,624],"code",{},"evlog\u002Fai"," gives you full AI observability by wrapping your model with middleware. Token usage, tool calls, streaming performance, cache hits, reasoning tokens, and cost estimation, all captured into the wide event automatically.",[627,628,631,634,665],"prompt",{":actions":629,"description":630,"icon":333},"[\"copy\",\"cursor\",\"claude\"]","Add AI observability with evlog",[619,632,633],{},"Add AI observability to my app with evlog.",[635,636,637,641,644,647,650,653,656,659,662],"ul",{},[638,639,640],"li",{},"Install the AI SDK: pnpm add ai",[638,642,643],{},"Import createAILogger from 'evlog\u002Fai'",[638,645,646],{},"Create an AI logger with createAILogger(log) where log is your request logger",[638,648,649],{},"Wrap your model with ai.wrap('anthropic\u002Fclaude-sonnet-4.6') and pass it to generateText, streamText, etc.",[638,651,652],{},"Token usage, tool calls, streaming metrics, and errors are captured automatically into the wide event",[638,654,655],{},"For deeper observability (tool execution timing, total generation wall time), add createEvlogIntegration(ai) to telemetry.integrations",[638,657,658],{},"For embedding calls, use ai.captureEmbed({ usage, model, dimensions, count }) after embed() or embedMany()",[638,660,661],{},"For cost estimation, pass a cost map: createAILogger(log, { cost: { 'claude-sonnet-4.6': { input: 3, output: 15 } } })",[638,663,664],{},"Works with all frameworks: Nuxt, Express, Hono, Fastify, NestJS, Elysia, standalone",[619,666,667,668,674,675],{},"Docs: ",[669,670,671],"a",{"href":671,"rel":672},"https:\u002F\u002Fwww.evlog.dev\u002Fuse-cases\u002Fai-sdk\u002Foverview",[673],"nofollow","\nAdapters: ",[669,676,677],{"href":677,"rel":678},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fadapters\u002Foverview",[673],[680,681,683],"h2",{"id":682},"install","Install",[619,685,686],{},"Add the AI SDK as a dependency:",[688,689,690,715,729,743],"code-group",{},[691,692,698],"pre",{"className":693,"code":694,"filename":695,"language":696,"meta":697,"style":697},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add ai\n","pnpm","bash","",[622,699,700],{"__ignoreMap":697},[701,702,705,708,712],"span",{"class":703,"line":704},"line",1,[701,706,695],{"class":707},"sBMFI",[701,709,711],{"class":710},"sfazB"," add",[701,713,714],{"class":710}," ai\n",[691,716,719],{"className":693,"code":717,"filename":718,"language":696,"meta":697,"style":697},"bun add ai\n","bun",[622,720,721],{"__ignoreMap":697},[701,722,723,725,727],{"class":703,"line":704},[701,724,718],{"class":707},[701,726,711],{"class":710},[701,728,714],{"class":710},[691,730,733],{"className":693,"code":731,"filename":732,"language":696,"meta":697,"style":697},"yarn add ai\n","yarn",[622,734,735],{"__ignoreMap":697},[701,736,737,739,741],{"class":703,"line":704},[701,738,732],{"class":707},[701,740,711],{"class":710},[701,742,714],{"class":710},[691,744,747],{"className":693,"code":745,"filename":746,"language":696,"meta":697,"style":697},"npm install ai\n","npm",[622,748,749],{"__ignoreMap":697},[701,750,751,753,756],{"class":703,"line":704},[701,752,746],{"class":707},[701,754,755],{"class":710}," install",[701,757,714],{"class":710},[680,759,25],{"id":760},"quick-start",[762,763],"ai-sdk-wide-event",{},[619,765,766],{},"Two lines to add, one param to change:",[688,768,769,899],{},[691,770,775],{"className":771,"code":772,"filename":773,"language":774,"meta":697,"style":697},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineEventHandler(async (event) => {\n  const result = streamText({\n    model: 'anthropic\u002Fclaude-sonnet-4.6',\n    messages,\n  })\n  return result.toTextStreamResponse()\n})\n","Before","typescript",[622,776,777,815,836,857,865,874,891],{"__ignoreMap":697},[701,778,779,783,786,790,794,798,802,806,809,812],{"class":703,"line":704},[701,780,782],{"class":781},"s7zQu","export",[701,784,785],{"class":781}," default",[701,787,789],{"class":788},"s2Zo4"," defineEventHandler",[701,791,793],{"class":792},"sTEyZ","(",[701,795,797],{"class":796},"spNyl","async",[701,799,801],{"class":800},"sMK4o"," (",[701,803,805],{"class":804},"sHdIc","event",[701,807,808],{"class":800},")",[701,810,811],{"class":796}," =>",[701,813,814],{"class":800}," {\n",[701,816,818,821,824,827,830,833],{"class":703,"line":817},2,[701,819,820],{"class":796},"  const",[701,822,823],{"class":792}," result",[701,825,826],{"class":800}," =",[701,828,829],{"class":788}," streamText",[701,831,793],{"class":832},"swJcz",[701,834,835],{"class":800},"{\n",[701,837,839,842,845,848,851,854],{"class":703,"line":838},3,[701,840,841],{"class":832},"    model",[701,843,844],{"class":800},":",[701,846,847],{"class":800}," '",[701,849,850],{"class":710},"anthropic\u002Fclaude-sonnet-4.6",[701,852,853],{"class":800},"'",[701,855,856],{"class":800},",\n",[701,858,860,863],{"class":703,"line":859},4,[701,861,862],{"class":792},"    messages",[701,864,856],{"class":800},[701,866,868,871],{"class":703,"line":867},5,[701,869,870],{"class":800},"  }",[701,872,873],{"class":832},")\n",[701,875,877,880,882,885,888],{"class":703,"line":876},6,[701,878,879],{"class":781},"  return",[701,881,823],{"class":792},[701,883,884],{"class":800},".",[701,886,887],{"class":788},"toTextStreamResponse",[701,889,890],{"class":832},"()\n",[701,892,894,897],{"class":703,"line":893},7,[701,895,896],{"class":800},"}",[701,898,873],{"class":792},[691,900,903],{"className":771,"code":901,"filename":902,"language":774,"meta":697,"style":697},"import { useLogger } from 'evlog'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport default defineEventHandler(async (event) => {\n  const log = useLogger(event)\n  const ai = createAILogger(log)\n\n  const result = streamText({\n    model: ai.wrap('anthropic\u002Fclaude-sonnet-4.6'),\n    messages,\n  })\n  return result.toTextStreamResponse()\n})\n","After",[622,904,905,930,949,955,977,994,1012,1016,1031,1057,1064,1071,1084],{"__ignoreMap":697},[701,906,907,910,913,916,919,922,924,927],{"class":703,"line":704},[701,908,909],{"class":781},"import",[701,911,912],{"class":800}," {",[701,914,915],{"class":792}," useLogger",[701,917,918],{"class":800}," }",[701,920,921],{"class":781}," from",[701,923,847],{"class":800},[701,925,926],{"class":710},"evlog",[701,928,929],{"class":800},"'\n",[701,931,932,934,936,939,941,943,945,947],{"class":703,"line":817},[701,933,909],{"class":781},[701,935,912],{"class":800},[701,937,938],{"class":792}," createAILogger",[701,940,918],{"class":800},[701,942,921],{"class":781},[701,944,847],{"class":800},[701,946,624],{"class":710},[701,948,929],{"class":800},[701,950,951],{"class":703,"line":838},[701,952,954],{"emptyLinePlaceholder":953},true,"\n",[701,956,957,959,961,963,965,967,969,971,973,975],{"class":703,"line":859},[701,958,782],{"class":781},[701,960,785],{"class":781},[701,962,789],{"class":788},[701,964,793],{"class":792},[701,966,797],{"class":796},[701,968,801],{"class":800},[701,970,805],{"class":804},[701,972,808],{"class":800},[701,974,811],{"class":796},[701,976,814],{"class":800},[701,978,979,981,984,986,988,990,992],{"class":703,"line":867},[701,980,820],{"class":796},[701,982,983],{"class":792}," log",[701,985,826],{"class":800},[701,987,915],{"class":788},[701,989,793],{"class":832},[701,991,805],{"class":792},[701,993,873],{"class":832},[701,995,996,998,1001,1003,1005,1007,1010],{"class":703,"line":876},[701,997,820],{"class":796},[701,999,1000],{"class":792}," ai",[701,1002,826],{"class":800},[701,1004,938],{"class":788},[701,1006,793],{"class":832},[701,1008,1009],{"class":792},"log",[701,1011,873],{"class":832},[701,1013,1014],{"class":703,"line":893},[701,1015,954],{"emptyLinePlaceholder":953},[701,1017,1019,1021,1023,1025,1027,1029],{"class":703,"line":1018},8,[701,1020,820],{"class":796},[701,1022,823],{"class":792},[701,1024,826],{"class":800},[701,1026,829],{"class":788},[701,1028,793],{"class":832},[701,1030,835],{"class":800},[701,1032,1034,1036,1038,1040,1042,1045,1047,1049,1051,1053,1055],{"class":703,"line":1033},9,[701,1035,841],{"class":832},[701,1037,844],{"class":800},[701,1039,1000],{"class":792},[701,1041,884],{"class":800},[701,1043,1044],{"class":788},"wrap",[701,1046,793],{"class":832},[701,1048,853],{"class":800},[701,1050,850],{"class":710},[701,1052,853],{"class":800},[701,1054,808],{"class":832},[701,1056,856],{"class":800},[701,1058,1060,1062],{"class":703,"line":1059},10,[701,1061,862],{"class":792},[701,1063,856],{"class":800},[701,1065,1067,1069],{"class":703,"line":1066},11,[701,1068,870],{"class":800},[701,1070,873],{"class":832},[701,1072,1074,1076,1078,1080,1082],{"class":703,"line":1073},12,[701,1075,879],{"class":781},[701,1077,823],{"class":792},[701,1079,884],{"class":800},[701,1081,887],{"class":788},[701,1083,890],{"class":832},[701,1085,1087,1089],{"class":703,"line":1086},13,[701,1088,896],{"class":800},[701,1090,873],{"class":792},[619,1092,1093],{},"Your wide event now includes:",[691,1095,1100],{"className":1096,"code":1097,"filename":1098,"language":1099,"meta":697,"style":697},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"method\": \"POST\",\n  \"path\": \"\u002Fapi\u002Fchat\",\n  \"status\": 200,\n  \"duration\": \"4.5s\",\n  \"durationMs\": 4512,\n  \"ai\": {\n    \"calls\": 1,\n    \"model\": \"claude-sonnet-4.6\",\n    \"provider\": \"anthropic\",\n    \"inputTokens\": 3312,\n    \"outputTokens\": 814,\n    \"totalTokens\": 4126,\n    \"reasoningTokens\": 225,\n    \"finishReason\": \"stop\",\n    \"msToFirstChunk\": 234,\n    \"msToFinish\": 4500,\n    \"tokensPerSecond\": 180\n  }\n}\n","Wide Event","json",[622,1101,1102,1106,1129,1149,1166,1186,1202,1215,1232,1252,1272,1288,1304,1320,1337,1358,1375,1392,1407,1413],{"__ignoreMap":697},[701,1103,1104],{"class":703,"line":704},[701,1105,835],{"class":800},[701,1107,1108,1111,1114,1117,1119,1122,1125,1127],{"class":703,"line":817},[701,1109,1110],{"class":800},"  \"",[701,1112,1113],{"class":796},"method",[701,1115,1116],{"class":800},"\"",[701,1118,844],{"class":800},[701,1120,1121],{"class":800}," \"",[701,1123,1124],{"class":710},"POST",[701,1126,1116],{"class":800},[701,1128,856],{"class":800},[701,1130,1131,1133,1136,1138,1140,1142,1145,1147],{"class":703,"line":838},[701,1132,1110],{"class":800},[701,1134,1135],{"class":796},"path",[701,1137,1116],{"class":800},[701,1139,844],{"class":800},[701,1141,1121],{"class":800},[701,1143,1144],{"class":710},"\u002Fapi\u002Fchat",[701,1146,1116],{"class":800},[701,1148,856],{"class":800},[701,1150,1151,1153,1156,1158,1160,1164],{"class":703,"line":859},[701,1152,1110],{"class":800},[701,1154,1155],{"class":796},"status",[701,1157,1116],{"class":800},[701,1159,844],{"class":800},[701,1161,1163],{"class":1162},"sbssI"," 200",[701,1165,856],{"class":800},[701,1167,1168,1170,1173,1175,1177,1179,1182,1184],{"class":703,"line":867},[701,1169,1110],{"class":800},[701,1171,1172],{"class":796},"duration",[701,1174,1116],{"class":800},[701,1176,844],{"class":800},[701,1178,1121],{"class":800},[701,1180,1181],{"class":710},"4.5s",[701,1183,1116],{"class":800},[701,1185,856],{"class":800},[701,1187,1188,1190,1193,1195,1197,1200],{"class":703,"line":876},[701,1189,1110],{"class":800},[701,1191,1192],{"class":796},"durationMs",[701,1194,1116],{"class":800},[701,1196,844],{"class":800},[701,1198,1199],{"class":1162}," 4512",[701,1201,856],{"class":800},[701,1203,1204,1206,1209,1211,1213],{"class":703,"line":893},[701,1205,1110],{"class":800},[701,1207,1208],{"class":796},"ai",[701,1210,1116],{"class":800},[701,1212,844],{"class":800},[701,1214,814],{"class":800},[701,1216,1217,1220,1223,1225,1227,1230],{"class":703,"line":1018},[701,1218,1219],{"class":800},"    \"",[701,1221,1222],{"class":707},"calls",[701,1224,1116],{"class":800},[701,1226,844],{"class":800},[701,1228,1229],{"class":1162}," 1",[701,1231,856],{"class":800},[701,1233,1234,1236,1239,1241,1243,1245,1248,1250],{"class":703,"line":1033},[701,1235,1219],{"class":800},[701,1237,1238],{"class":707},"model",[701,1240,1116],{"class":800},[701,1242,844],{"class":800},[701,1244,1121],{"class":800},[701,1246,1247],{"class":710},"claude-sonnet-4.6",[701,1249,1116],{"class":800},[701,1251,856],{"class":800},[701,1253,1254,1256,1259,1261,1263,1265,1268,1270],{"class":703,"line":1059},[701,1255,1219],{"class":800},[701,1257,1258],{"class":707},"provider",[701,1260,1116],{"class":800},[701,1262,844],{"class":800},[701,1264,1121],{"class":800},[701,1266,1267],{"class":710},"anthropic",[701,1269,1116],{"class":800},[701,1271,856],{"class":800},[701,1273,1274,1276,1279,1281,1283,1286],{"class":703,"line":1066},[701,1275,1219],{"class":800},[701,1277,1278],{"class":707},"inputTokens",[701,1280,1116],{"class":800},[701,1282,844],{"class":800},[701,1284,1285],{"class":1162}," 3312",[701,1287,856],{"class":800},[701,1289,1290,1292,1295,1297,1299,1302],{"class":703,"line":1073},[701,1291,1219],{"class":800},[701,1293,1294],{"class":707},"outputTokens",[701,1296,1116],{"class":800},[701,1298,844],{"class":800},[701,1300,1301],{"class":1162}," 814",[701,1303,856],{"class":800},[701,1305,1306,1308,1311,1313,1315,1318],{"class":703,"line":1086},[701,1307,1219],{"class":800},[701,1309,1310],{"class":707},"totalTokens",[701,1312,1116],{"class":800},[701,1314,844],{"class":800},[701,1316,1317],{"class":1162}," 4126",[701,1319,856],{"class":800},[701,1321,1323,1325,1328,1330,1332,1335],{"class":703,"line":1322},14,[701,1324,1219],{"class":800},[701,1326,1327],{"class":707},"reasoningTokens",[701,1329,1116],{"class":800},[701,1331,844],{"class":800},[701,1333,1334],{"class":1162}," 225",[701,1336,856],{"class":800},[701,1338,1340,1342,1345,1347,1349,1351,1354,1356],{"class":703,"line":1339},15,[701,1341,1219],{"class":800},[701,1343,1344],{"class":707},"finishReason",[701,1346,1116],{"class":800},[701,1348,844],{"class":800},[701,1350,1121],{"class":800},[701,1352,1353],{"class":710},"stop",[701,1355,1116],{"class":800},[701,1357,856],{"class":800},[701,1359,1361,1363,1366,1368,1370,1373],{"class":703,"line":1360},16,[701,1362,1219],{"class":800},[701,1364,1365],{"class":707},"msToFirstChunk",[701,1367,1116],{"class":800},[701,1369,844],{"class":800},[701,1371,1372],{"class":1162}," 234",[701,1374,856],{"class":800},[701,1376,1378,1380,1383,1385,1387,1390],{"class":703,"line":1377},17,[701,1379,1219],{"class":800},[701,1381,1382],{"class":707},"msToFinish",[701,1384,1116],{"class":800},[701,1386,844],{"class":800},[701,1388,1389],{"class":1162}," 4500",[701,1391,856],{"class":800},[701,1393,1395,1397,1400,1402,1404],{"class":703,"line":1394},18,[701,1396,1219],{"class":800},[701,1398,1399],{"class":707},"tokensPerSecond",[701,1401,1116],{"class":800},[701,1403,844],{"class":800},[701,1405,1406],{"class":1162}," 180\n",[701,1408,1410],{"class":703,"line":1409},19,[701,1411,1412],{"class":800},"  }\n",[701,1414,1416],{"class":703,"line":1415},20,[701,1417,1418],{"class":800},"}\n",[680,1420,1422],{"id":1421},"how-it-works","How It Works",[619,1424,1425,1428,1429,1432],{},[622,1426,1427],{},"createAILogger(log, options?)"," returns an ",[622,1430,1431],{},"AILogger"," with the following methods:",[1434,1435,1436,1449],"table",{},[1437,1438,1439],"thead",{},[1440,1441,1442,1446],"tr",{},[1443,1444,1445],"th",{},"Method",[1443,1447,1448],{},"Description",[1450,1451,1452,1486,1504,1517,1531],"tbody",{},[1440,1453,1454,1460],{},[1455,1456,1457],"td",{},[622,1458,1459],{},"wrap(model)",[1455,1461,1462,1463,1466,1467,1470,1471,1474,1475,1478,1479,1482,1483,884],{},"Wraps a language model with middleware. Accepts a model string (e.g. ",[622,1464,1465],{},"'anthropic\u002Fclaude-sonnet-4.6'",") or a ",[622,1468,1469],{},"LanguageModelV3"," \u002F ",[622,1472,1473],{},"LanguageModelV4"," object. Works with ",[622,1476,1477],{},"generateText",", ",[622,1480,1481],{},"streamText",", and ",[622,1484,1485],{},"ToolLoopAgent",[1440,1487,1488,1493],{},[1455,1489,1490],{},[622,1491,1492],{},"captureEmbed(result)",[1455,1494,1495,1496,1499,1500,1503],{},"Manually captures token usage, model info, and dimensions from ",[622,1497,1498],{},"embed()"," or ",[622,1501,1502],{},"embedMany()"," results.",[1440,1505,1506,1511],{},[1455,1507,1508],{},[622,1509,1510],{},"getMetadata()",[1455,1512,1513,1514,884],{},"Returns a snapshot of the current execution metadata. See ",[669,1515,1516],{"href":352},"Access Metadata",[1440,1518,1519,1524],{},[1455,1520,1521],{},[622,1522,1523],{},"getEstimatedCost()",[1455,1525,1526,1527,1530],{},"Returns the current estimated cost in dollars when a ",[622,1528,1529],{},"cost"," map is configured.",[1440,1532,1533,1538],{},[1455,1534,1535],{},[622,1536,1537],{},"onUpdate(callback)",[1455,1539,1540],{},"Subscribe to metadata updates. Fires on every step, embed, error, and integration finish.",[619,1542,1543],{},"The middleware intercepts calls at the provider level. It does not touch your callbacks, prompts, or responses. Captured data flows through the normal evlog pipeline (sampling, enrichers, drains) and lands in Axiom, Better Stack, or wherever you drain to.",[680,1545,1547],{"id":1546},"where-to-next","Where to next",[1549,1550,1551,1560,1563,1569],"card-group",{},[1552,1553,1555,1478,1557,1559],"card",{"icon":344,"title":1554,"to":342},"Usage Patterns",[622,1556,1481],{},[622,1558,1477],{},", multi-step agents, RAG, multiple models: every common pattern, ready to copy.",[1552,1561,1562],{"icon":349,"title":346,"to":347},"Capture tool inputs (with redaction and truncation), enable cost estimation, and handle errors.",[1552,1564,1565,1566,1568],{"icon":354,"title":1516,"to":352},"Read the captured ",[622,1567,1208],{}," data inside your handler: persist it, bill against it, or stream it to the client.",[1552,1570,1572,1573,1576],{"icon":137,"title":1571,"to":357},"Deeper Telemetry","Add tool execution timing and total wall time with ",[622,1574,1575],{},"createEvlogIntegration",". Compose with other middlewares.",[680,1578,1580],{"id":1579},"works-with-all-frameworks","Works With All Frameworks",[619,1582,1583,1585],{},[622,1584,624],{}," works with any framework that evlog supports:",[688,1587,1588,1663,1780,1873,1969,2058,2128],{},[691,1589,1591],{"className":771,"code":1590,"filename":240,"language":774,"meta":697,"style":697},"import { useLogger } from 'evlog'\nimport { createAILogger } from 'evlog\u002Fai'\n\nconst log = useLogger(event)\nconst ai = createAILogger(log)\n",[622,1592,1593,1611,1629,1633,1649],{"__ignoreMap":697},[701,1594,1595,1597,1599,1601,1603,1605,1607,1609],{"class":703,"line":704},[701,1596,909],{"class":781},[701,1598,912],{"class":800},[701,1600,915],{"class":792},[701,1602,918],{"class":800},[701,1604,921],{"class":781},[701,1606,847],{"class":800},[701,1608,926],{"class":710},[701,1610,929],{"class":800},[701,1612,1613,1615,1617,1619,1621,1623,1625,1627],{"class":703,"line":817},[701,1614,909],{"class":781},[701,1616,912],{"class":800},[701,1618,938],{"class":792},[701,1620,918],{"class":800},[701,1622,921],{"class":781},[701,1624,847],{"class":800},[701,1626,624],{"class":710},[701,1628,929],{"class":800},[701,1630,1631],{"class":703,"line":838},[701,1632,954],{"emptyLinePlaceholder":953},[701,1634,1635,1638,1641,1644,1646],{"class":703,"line":859},[701,1636,1637],{"class":796},"const",[701,1639,1640],{"class":792}," log ",[701,1642,1643],{"class":800},"=",[701,1645,915],{"class":788},[701,1647,1648],{"class":792},"(event)\n",[701,1650,1651,1653,1656,1658,1660],{"class":703,"line":867},[701,1652,1637],{"class":796},[701,1654,1655],{"class":792}," ai ",[701,1657,1643],{"class":800},[701,1659,938],{"class":788},[701,1661,1662],{"class":792},"(log)\n",[691,1664,1666],{"className":771,"code":1665,"filename":245,"language":774,"meta":697,"style":697},"import { withEvlog, useLogger } from '@\u002Flib\u002Fevlog'\nimport { createAILogger } from 'evlog\u002Fai'\n\nexport const POST = withEvlog(async () => {\n  const log = useLogger()\n  const ai = createAILogger(log)\n  \u002F\u002F ...\n})\n",[622,1667,1668,1693,1711,1715,1740,1752,1768,1774],{"__ignoreMap":697},[701,1669,1670,1672,1674,1677,1680,1682,1684,1686,1688,1691],{"class":703,"line":704},[701,1671,909],{"class":781},[701,1673,912],{"class":800},[701,1675,1676],{"class":792}," withEvlog",[701,1678,1679],{"class":800},",",[701,1681,915],{"class":792},[701,1683,918],{"class":800},[701,1685,921],{"class":781},[701,1687,847],{"class":800},[701,1689,1690],{"class":710},"@\u002Flib\u002Fevlog",[701,1692,929],{"class":800},[701,1694,1695,1697,1699,1701,1703,1705,1707,1709],{"class":703,"line":817},[701,1696,909],{"class":781},[701,1698,912],{"class":800},[701,1700,938],{"class":792},[701,1702,918],{"class":800},[701,1704,921],{"class":781},[701,1706,847],{"class":800},[701,1708,624],{"class":710},[701,1710,929],{"class":800},[701,1712,1713],{"class":703,"line":838},[701,1714,954],{"emptyLinePlaceholder":953},[701,1716,1717,1719,1722,1725,1727,1729,1731,1733,1736,1738],{"class":703,"line":859},[701,1718,782],{"class":781},[701,1720,1721],{"class":796}," const",[701,1723,1724],{"class":792}," POST ",[701,1726,1643],{"class":800},[701,1728,1676],{"class":788},[701,1730,793],{"class":792},[701,1732,797],{"class":796},[701,1734,1735],{"class":800}," ()",[701,1737,811],{"class":796},[701,1739,814],{"class":800},[701,1741,1742,1744,1746,1748,1750],{"class":703,"line":867},[701,1743,820],{"class":796},[701,1745,983],{"class":792},[701,1747,826],{"class":800},[701,1749,915],{"class":788},[701,1751,890],{"class":832},[701,1753,1754,1756,1758,1760,1762,1764,1766],{"class":703,"line":876},[701,1755,820],{"class":796},[701,1757,1000],{"class":792},[701,1759,826],{"class":800},[701,1761,938],{"class":788},[701,1763,793],{"class":832},[701,1765,1009],{"class":792},[701,1767,873],{"class":832},[701,1769,1770],{"class":703,"line":893},[701,1771,1773],{"class":1772},"sHwdD","  \u002F\u002F ...\n",[701,1775,1776,1778],{"class":703,"line":1018},[701,1777,896],{"class":800},[701,1779,873],{"class":792},[691,1781,1783],{"className":771,"code":1782,"filename":270,"language":774,"meta":697,"style":697},"import { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fchat', (req, res) => {\n  const ai = createAILogger(req.log)\n  \u002F\u002F ...\n})\n",[622,1784,1785,1803,1807,1843,1863,1867],{"__ignoreMap":697},[701,1786,1787,1789,1791,1793,1795,1797,1799,1801],{"class":703,"line":704},[701,1788,909],{"class":781},[701,1790,912],{"class":800},[701,1792,938],{"class":792},[701,1794,918],{"class":800},[701,1796,921],{"class":781},[701,1798,847],{"class":800},[701,1800,624],{"class":710},[701,1802,929],{"class":800},[701,1804,1805],{"class":703,"line":817},[701,1806,954],{"emptyLinePlaceholder":953},[701,1808,1809,1812,1814,1817,1819,1821,1823,1825,1827,1829,1832,1834,1837,1839,1841],{"class":703,"line":838},[701,1810,1811],{"class":792},"app",[701,1813,884],{"class":800},[701,1815,1816],{"class":788},"post",[701,1818,793],{"class":792},[701,1820,853],{"class":800},[701,1822,1144],{"class":710},[701,1824,853],{"class":800},[701,1826,1679],{"class":800},[701,1828,801],{"class":800},[701,1830,1831],{"class":804},"req",[701,1833,1679],{"class":800},[701,1835,1836],{"class":804}," res",[701,1838,808],{"class":800},[701,1840,811],{"class":796},[701,1842,814],{"class":800},[701,1844,1845,1847,1849,1851,1853,1855,1857,1859,1861],{"class":703,"line":859},[701,1846,820],{"class":796},[701,1848,1000],{"class":792},[701,1850,826],{"class":800},[701,1852,938],{"class":788},[701,1854,793],{"class":832},[701,1856,1831],{"class":792},[701,1858,884],{"class":800},[701,1860,1009],{"class":792},[701,1862,873],{"class":832},[701,1864,1865],{"class":703,"line":867},[701,1866,1773],{"class":1772},[701,1868,1869,1871],{"class":703,"line":876},[701,1870,896],{"class":800},[701,1872,873],{"class":792},[691,1874,1876],{"className":771,"code":1875,"filename":275,"language":774,"meta":697,"style":697},"import { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fchat', (c) => {\n  const ai = createAILogger(c.get('log'))\n  \u002F\u002F ...\n})\n",[622,1877,1878,1896,1900,1929,1959,1963],{"__ignoreMap":697},[701,1879,1880,1882,1884,1886,1888,1890,1892,1894],{"class":703,"line":704},[701,1881,909],{"class":781},[701,1883,912],{"class":800},[701,1885,938],{"class":792},[701,1887,918],{"class":800},[701,1889,921],{"class":781},[701,1891,847],{"class":800},[701,1893,624],{"class":710},[701,1895,929],{"class":800},[701,1897,1898],{"class":703,"line":817},[701,1899,954],{"emptyLinePlaceholder":953},[701,1901,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1923,1925,1927],{"class":703,"line":838},[701,1903,1811],{"class":792},[701,1905,884],{"class":800},[701,1907,1816],{"class":788},[701,1909,793],{"class":792},[701,1911,853],{"class":800},[701,1913,1144],{"class":710},[701,1915,853],{"class":800},[701,1917,1679],{"class":800},[701,1919,801],{"class":800},[701,1921,1922],{"class":804},"c",[701,1924,808],{"class":800},[701,1926,811],{"class":796},[701,1928,814],{"class":800},[701,1930,1931,1933,1935,1937,1939,1941,1943,1945,1948,1950,1952,1954,1956],{"class":703,"line":859},[701,1932,820],{"class":796},[701,1934,1000],{"class":792},[701,1936,826],{"class":800},[701,1938,938],{"class":788},[701,1940,793],{"class":832},[701,1942,1922],{"class":792},[701,1944,884],{"class":800},[701,1946,1947],{"class":788},"get",[701,1949,793],{"class":832},[701,1951,853],{"class":800},[701,1953,1009],{"class":710},[701,1955,853],{"class":800},[701,1957,1958],{"class":832},"))\n",[701,1960,1961],{"class":703,"line":867},[701,1962,1773],{"class":1772},[701,1964,1965,1967],{"class":703,"line":876},[701,1966,896],{"class":800},[701,1968,873],{"class":792},[691,1970,1972],{"className":771,"code":1971,"filename":280,"language":774,"meta":697,"style":697},"import { createAILogger } from 'evlog\u002Fai'\n\napp.post('\u002Fapi\u002Fchat', async (request) => {\n  const ai = createAILogger(request.log)\n  \u002F\u002F ...\n})\n",[622,1973,1974,1992,1996,2028,2048,2052],{"__ignoreMap":697},[701,1975,1976,1978,1980,1982,1984,1986,1988,1990],{"class":703,"line":704},[701,1977,909],{"class":781},[701,1979,912],{"class":800},[701,1981,938],{"class":792},[701,1983,918],{"class":800},[701,1985,921],{"class":781},[701,1987,847],{"class":800},[701,1989,624],{"class":710},[701,1991,929],{"class":800},[701,1993,1994],{"class":703,"line":817},[701,1995,954],{"emptyLinePlaceholder":953},[701,1997,1998,2000,2002,2004,2006,2008,2010,2012,2014,2017,2019,2022,2024,2026],{"class":703,"line":838},[701,1999,1811],{"class":792},[701,2001,884],{"class":800},[701,2003,1816],{"class":788},[701,2005,793],{"class":792},[701,2007,853],{"class":800},[701,2009,1144],{"class":710},[701,2011,853],{"class":800},[701,2013,1679],{"class":800},[701,2015,2016],{"class":796}," async",[701,2018,801],{"class":800},[701,2020,2021],{"class":804},"request",[701,2023,808],{"class":800},[701,2025,811],{"class":796},[701,2027,814],{"class":800},[701,2029,2030,2032,2034,2036,2038,2040,2042,2044,2046],{"class":703,"line":859},[701,2031,820],{"class":796},[701,2033,1000],{"class":792},[701,2035,826],{"class":800},[701,2037,938],{"class":788},[701,2039,793],{"class":832},[701,2041,2021],{"class":792},[701,2043,884],{"class":800},[701,2045,1009],{"class":792},[701,2047,873],{"class":832},[701,2049,2050],{"class":703,"line":867},[701,2051,1773],{"class":1772},[701,2053,2054,2056],{"class":703,"line":876},[701,2055,896],{"class":800},[701,2057,873],{"class":792},[691,2059,2061],{"className":771,"code":2060,"filename":265,"language":774,"meta":697,"style":697},"import { useLogger } from 'evlog\u002Fnestjs'\nimport { createAILogger } from 'evlog\u002Fai'\n\nconst log = useLogger()\nconst ai = createAILogger(log)\n",[622,2062,2063,2082,2100,2104,2116],{"__ignoreMap":697},[701,2064,2065,2067,2069,2071,2073,2075,2077,2080],{"class":703,"line":704},[701,2066,909],{"class":781},[701,2068,912],{"class":800},[701,2070,915],{"class":792},[701,2072,918],{"class":800},[701,2074,921],{"class":781},[701,2076,847],{"class":800},[701,2078,2079],{"class":710},"evlog\u002Fnestjs",[701,2081,929],{"class":800},[701,2083,2084,2086,2088,2090,2092,2094,2096,2098],{"class":703,"line":817},[701,2085,909],{"class":781},[701,2087,912],{"class":800},[701,2089,938],{"class":792},[701,2091,918],{"class":800},[701,2093,921],{"class":781},[701,2095,847],{"class":800},[701,2097,624],{"class":710},[701,2099,929],{"class":800},[701,2101,2102],{"class":703,"line":838},[701,2103,954],{"emptyLinePlaceholder":953},[701,2105,2106,2108,2110,2112,2114],{"class":703,"line":859},[701,2107,1637],{"class":796},[701,2109,1640],{"class":792},[701,2111,1643],{"class":800},[701,2113,915],{"class":788},[701,2115,890],{"class":792},[701,2117,2118,2120,2122,2124,2126],{"class":703,"line":867},[701,2119,1637],{"class":796},[701,2121,1655],{"class":792},[701,2123,1643],{"class":800},[701,2125,938],{"class":788},[701,2127,1662],{"class":792},[691,2129,2131],{"className":771,"code":2130,"filename":300,"language":774,"meta":697,"style":697},"import { createLogger } from 'evlog'\nimport { createAILogger } from 'evlog\u002Fai'\n\nconst log = createLogger()\nconst ai = createAILogger(log)\n\u002F\u002F ...\nlog.emit()\n",[622,2132,2133,2152,2170,2174,2186,2198,2203],{"__ignoreMap":697},[701,2134,2135,2137,2139,2142,2144,2146,2148,2150],{"class":703,"line":704},[701,2136,909],{"class":781},[701,2138,912],{"class":800},[701,2140,2141],{"class":792}," createLogger",[701,2143,918],{"class":800},[701,2145,921],{"class":781},[701,2147,847],{"class":800},[701,2149,926],{"class":710},[701,2151,929],{"class":800},[701,2153,2154,2156,2158,2160,2162,2164,2166,2168],{"class":703,"line":817},[701,2155,909],{"class":781},[701,2157,912],{"class":800},[701,2159,938],{"class":792},[701,2161,918],{"class":800},[701,2163,921],{"class":781},[701,2165,847],{"class":800},[701,2167,624],{"class":710},[701,2169,929],{"class":800},[701,2171,2172],{"class":703,"line":838},[701,2173,954],{"emptyLinePlaceholder":953},[701,2175,2176,2178,2180,2182,2184],{"class":703,"line":859},[701,2177,1637],{"class":796},[701,2179,1640],{"class":792},[701,2181,1643],{"class":800},[701,2183,2141],{"class":788},[701,2185,890],{"class":792},[701,2187,2188,2190,2192,2194,2196],{"class":703,"line":867},[701,2189,1637],{"class":796},[701,2191,1655],{"class":792},[701,2193,1643],{"class":800},[701,2195,938],{"class":788},[701,2197,1662],{"class":792},[701,2199,2200],{"class":703,"line":876},[701,2201,2202],{"class":1772},"\u002F\u002F ...\n",[701,2204,2205,2207,2209,2212],{"class":703,"line":893},[701,2206,1009],{"class":792},[701,2208,884],{"class":800},[701,2210,2211],{"class":788},"emit",[701,2213,890],{"class":792},[2215,2216,2217],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":697,"searchDepth":817,"depth":817,"links":2219},[2220,2221,2222,2223,2224],{"id":682,"depth":817,"text":683},{"id":760,"depth":817,"text":25},{"id":1421,"depth":817,"text":1422},{"id":1546,"depth":817,"text":1547},{"id":1579,"depth":817,"text":1580},"Capture token usage, tool calls, model info, and streaming metrics from the Vercel AI SDK into wide events. Wrap your model, get the rest free.","md",[2228,2231,2232,2233],{"label":1554,"icon":344,"to":342,"color":2229,"variant":2230},"neutral","subtle",{"label":346,"icon":349,"to":347,"color":2229,"variant":2230},{"label":1516,"icon":354,"to":352,"color":2229,"variant":2230},{"label":1571,"icon":137,"to":357,"color":2229,"variant":2230},{},{"title":41,"icon":44},{"title":614,"description":2225},"4DFB2uLJAwACUCrpsXVVwFK6-G0ObSADnGw-cCpyYDo",[2239,2241],{"title":327,"path":328,"stem":329,"description":2240,"icon":330,"children":-1},"Capture browser events with structured logging. Same API as the server, with automatic console styling, user identity context, and optional server transport.",{"title":341,"path":342,"stem":343,"description":2242,"icon":344,"children":-1},"streamText, generateText, multi-step agents, RAG, and multiple models — every common AI SDK pattern wired into evlog.",1789294020127]