[{"data":1,"prerenderedAt":3004},["ShallowReactive",2],{"navigation_docs":3,"-reference-configuration":602,"-reference-configuration-surround":2999},[4,35,85,138,318,479,538,577],{"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,453],{"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,"icon":455,"path":456,"stem":457,"children":458,"page":34},"Signals","i-lucide-scan-search","\u002Fuse-cases\u002Fsignals","5.use-cases\u002F7.signals",[459,462,467,472,475],{"title":41,"path":460,"stem":461,"icon":44},"\u002Fuse-cases\u002Fsignals\u002Foverview","5.use-cases\u002F7.signals\u002F01.overview",{"title":463,"path":464,"stem":465,"icon":466},"What You Can Ask","\u002Fuse-cases\u002Fsignals\u002Fask","5.use-cases\u002F7.signals\u002F02.ask","i-lucide-message-circle-question",{"title":468,"path":469,"stem":470,"icon":471},"What It Costs","\u002Fuse-cases\u002Fsignals\u002Fcost","5.use-cases\u002F7.signals\u002F03.cost","i-lucide-coins",{"title":436,"path":473,"stem":474,"icon":84},"\u002Fuse-cases\u002Fsignals\u002Freference","5.use-cases\u002F7.signals\u002F04.reference",{"title":415,"path":476,"stem":477,"icon":478},"\u002Fuse-cases\u002Fsignals\u002Frecipes","5.use-cases\u002F7.signals\u002F05.recipes","i-lucide-lightbulb",{"title":480,"path":481,"stem":482,"children":483,"page":34},"Extend","\u002Fextend","6.extend",[484,488,493,498,502,507,511,515,519,523,528,533],{"title":41,"path":485,"stem":486,"icon":487},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":489,"path":490,"stem":491,"icon":492},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":494,"path":495,"stem":496,"icon":497},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":499,"path":500,"stem":501,"icon":492},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":503,"path":504,"stem":505,"icon":506},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":415,"path":508,"stem":509,"icon":510},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":512,"path":513,"stem":514,"icon":487},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":516,"path":517,"stem":518,"icon":443},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":520,"path":521,"stem":522,"icon":69},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":524,"path":525,"stem":526,"icon":527},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":529,"path":530,"stem":531,"icon":532},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":534,"path":535,"stem":536,"icon":537},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":436,"path":539,"stem":540,"children":541,"page":34},"\u002Freference","7.reference",[542,546,551,554,559,563,568,572],{"title":41,"path":543,"stem":544,"icon":545},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":547,"path":548,"stem":549,"icon":550},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":383,"path":552,"stem":553,"icon":112},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":555,"path":556,"stem":557,"icon":558},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":560,"path":561,"stem":562,"icon":388},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":564,"path":565,"stem":566,"icon":567},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":569,"path":570,"stem":571,"icon":443},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":573,"path":574,"stem":575,"icon":576},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":578,"path":579,"stem":580,"children":581,"page":34},"Compare","\u002Fcompare","8.compare",[582,586,590,594,598],{"title":583,"path":584,"stem":585,"icon":567},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":587,"path":588,"stem":589,"icon":204},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":591,"path":592,"stem":593,"icon":567},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":595,"path":596,"stem":597,"icon":567},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":599,"path":600,"stem":601,"icon":567},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":603,"title":547,"body":604,"description":2987,"extension":2988,"links":2989,"meta":2995,"navigation":2996,"path":548,"seo":2997,"stem":549,"__hash__":2998},"docs\u002F7.reference\u002F1.configuration.md",{"type":605,"value":606,"toc":2970},"minimark",[607,620,630,637,912,1168,1201,1208,1286,1302,1305,1312,1322,1328,1383,1476,1482,1592,1600,1604,1610,1748,1752,1757,1857,1866,1870,1873,2525,2651,2673,2677,2686,2811,2815,2818,2821,2830,2925,2932,2935,2960,2966],[608,609,610,611,615,616,619],"p",{},"evlog has two configuration surfaces, and this page documents both: ",[612,613,614],"strong",{},"global options"," set once at startup, and ",[612,617,618],{},"middleware options"," set per framework integration.",[621,622,624,625,629],"h2",{"id":623},"global-options-initlogger","Global options (",[626,627,628],"code",{},"initLogger",")",[608,631,632,633,636],{},"These options apply to all frameworks. Call ",[626,634,635],{},"initLogger()"," once at application startup for standalone frameworks (Hono, Express, Fastify, Elysia, NestJS, SvelteKit, Cloudflare Workers). For Nuxt and Nitro, these are set via module config and passed through automatically.",[638,639,645],"pre",{"className":640,"code":641,"filename":642,"language":643,"meta":644,"style":644},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { initLogger } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitLogger({\n  enabled: true,\n  env: { service: 'my-api', environment: 'production' },\n  pretty: false,\n  silent: false,\n  stringify: true,\n  minLevel: 'info',\n  sampling: { rates: { info: 10 }, keep: [{ status: 400 }] },\n  drain: createAxiomDrain(),\n})\n","src\u002Findex.ts","typescript","",[626,646,647,680,701,708,720,737,778,791,803,815,832,888,903],{"__ignoreMap":644},[648,649,652,656,660,664,667,670,673,677],"span",{"class":650,"line":651},"line",1,[648,653,655],{"class":654},"s7zQu","import",[648,657,659],{"class":658},"sMK4o"," {",[648,661,663],{"class":662},"sTEyZ"," initLogger",[648,665,666],{"class":658}," }",[648,668,669],{"class":654}," from",[648,671,672],{"class":658}," '",[648,674,676],{"class":675},"sfazB","evlog",[648,678,679],{"class":658},"'\n",[648,681,683,685,687,690,692,694,696,699],{"class":650,"line":682},2,[648,684,655],{"class":654},[648,686,659],{"class":658},[648,688,689],{"class":662}," createAxiomDrain",[648,691,666],{"class":658},[648,693,669],{"class":654},[648,695,672],{"class":658},[648,697,698],{"class":675},"evlog\u002Faxiom",[648,700,679],{"class":658},[648,702,704],{"class":650,"line":703},3,[648,705,707],{"emptyLinePlaceholder":706},true,"\n",[648,709,711,714,717],{"class":650,"line":710},4,[648,712,628],{"class":713},"s2Zo4",[648,715,716],{"class":662},"(",[648,718,719],{"class":658},"{\n",[648,721,723,727,730,734],{"class":650,"line":722},5,[648,724,726],{"class":725},"swJcz","  enabled",[648,728,729],{"class":658},":",[648,731,733],{"class":732},"sfNiH"," true",[648,735,736],{"class":658},",\n",[648,738,740,743,745,747,750,752,754,757,760,763,766,768,770,773,775],{"class":650,"line":739},6,[648,741,742],{"class":725},"  env",[648,744,729],{"class":658},[648,746,659],{"class":658},[648,748,749],{"class":725}," service",[648,751,729],{"class":658},[648,753,672],{"class":658},[648,755,756],{"class":675},"my-api",[648,758,759],{"class":658},"'",[648,761,762],{"class":658},",",[648,764,765],{"class":725}," environment",[648,767,729],{"class":658},[648,769,672],{"class":658},[648,771,772],{"class":675},"production",[648,774,759],{"class":658},[648,776,777],{"class":658}," },\n",[648,779,781,784,786,789],{"class":650,"line":780},7,[648,782,783],{"class":725},"  pretty",[648,785,729],{"class":658},[648,787,788],{"class":732}," false",[648,790,736],{"class":658},[648,792,794,797,799,801],{"class":650,"line":793},8,[648,795,796],{"class":725},"  silent",[648,798,729],{"class":658},[648,800,788],{"class":732},[648,802,736],{"class":658},[648,804,806,809,811,813],{"class":650,"line":805},9,[648,807,808],{"class":725},"  stringify",[648,810,729],{"class":658},[648,812,733],{"class":732},[648,814,736],{"class":658},[648,816,818,821,823,825,828,830],{"class":650,"line":817},10,[648,819,820],{"class":725},"  minLevel",[648,822,729],{"class":658},[648,824,672],{"class":658},[648,826,827],{"class":675},"info",[648,829,759],{"class":658},[648,831,736],{"class":658},[648,833,835,838,840,842,845,847,849,852,854,858,861,864,866,869,872,875,877,880,882,885],{"class":650,"line":834},11,[648,836,837],{"class":725},"  sampling",[648,839,729],{"class":658},[648,841,659],{"class":658},[648,843,844],{"class":725}," rates",[648,846,729],{"class":658},[648,848,659],{"class":658},[648,850,851],{"class":725}," info",[648,853,729],{"class":658},[648,855,857],{"class":856},"sbssI"," 10",[648,859,860],{"class":658}," },",[648,862,863],{"class":725}," keep",[648,865,729],{"class":658},[648,867,868],{"class":662}," [",[648,870,871],{"class":658},"{",[648,873,874],{"class":725}," status",[648,876,729],{"class":658},[648,878,879],{"class":856}," 400",[648,881,666],{"class":658},[648,883,884],{"class":662},"] ",[648,886,887],{"class":658},"},\n",[648,889,891,894,896,898,901],{"class":650,"line":890},12,[648,892,893],{"class":725},"  drain",[648,895,729],{"class":658},[648,897,689],{"class":713},[648,899,900],{"class":662},"()",[648,902,736],{"class":658},[648,904,906,909],{"class":650,"line":905},13,[648,907,908],{"class":658},"}",[648,910,911],{"class":662},")\n",[913,914,915,934],"table",{},[916,917,918],"thead",{},[919,920,921,925,928,931],"tr",{},[922,923,924],"th",{},"Option",[922,926,927],{},"Type",[922,929,930],{},"Default",[922,932,933],{},"Description",[935,936,937,962,980,1002,1032,1050,1074,1102,1124,1149],"tbody",{},[919,938,939,945,950,955],{},[940,941,942],"td",{},[626,943,944],{},"enabled",[940,946,947],{},[626,948,949],{},"boolean",[940,951,952],{},[626,953,954],{},"true",[940,956,957,958,961],{},"Enable\u002Fdisable all logging globally. When ",[626,959,960],{},"false",", all operations become no-ops",[919,963,964,969,974,977],{},[940,965,966],{},[626,967,968],{},"env",[940,970,971],{},[626,972,973],{},"Partial\u003CEnvironmentContext>",[940,975,976],{},"Auto-detected",[940,978,979],{},"Environment context overrides (see below)",[919,981,982,987,991,996],{},[940,983,984],{},[626,985,986],{},"pretty",[940,988,989],{},[626,990,949],{},[940,992,993,995],{},[626,994,954],{}," in dev",[940,997,998,999],{},"Pretty print with tree formatting. Auto-detected based on ",[626,1000,1001],{},"NODE_ENV",[919,1003,1004,1009,1014,1020],{},[940,1005,1006],{},[626,1007,1008],{},"dev",[940,1010,1011],{},[626,1012,1013],{},"'evlog' | 'nitro' | 'both' | object",[940,1015,1016,1019],{},[626,1017,1018],{},"'evlog'"," in pretty dev",[940,1021,1022,1023,1026,1027],{},"Dev terminal presets or ",[626,1024,1025],{},"{ frameworkOverlay, prettyError }",", see ",[1028,1029,1031],"a",{"href":1030},"#tune-the-dev-terminal-output","Tune the dev terminal output",[919,1033,1034,1039,1043,1047],{},[940,1035,1036],{},[626,1037,1038],{},"silent",[940,1040,1041],{},[626,1042,949],{},[940,1044,1045],{},[626,1046,960],{},[940,1048,1049],{},"Suppress console output. Events are still built, sampled, and passed to drains",[919,1051,1052,1057,1061,1065],{},[940,1053,1054],{},[626,1055,1056],{},"stringify",[940,1058,1059],{},[626,1060,949],{},[940,1062,1063],{},[626,1064,954],{},[940,1066,1067,1068,1070,1071,1073],{},"Emit JSON strings when ",[626,1069,986],{}," is disabled. Set to ",[626,1072,960],{}," for Cloudflare Workers",[919,1075,1076,1081,1086,1091],{},[940,1077,1078],{},[626,1079,1080],{},"minLevel",[940,1082,1083],{},[626,1084,1085],{},"'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'",[940,1087,1088],{},[626,1089,1090],{},"'debug'",[940,1092,1093,1094,1097,1098,1101],{},"Minimum severity for the global ",[626,1095,1096],{},"log"," API only (not ",[626,1099,1100],{},"createLogger"," \u002F request wide events). Order: trace \u003C debug \u003C info \u003C warn \u003C error \u003C fatal",[919,1103,1104,1109,1114,1119],{},[940,1105,1106],{},[626,1107,1108],{},"sampling",[940,1110,1111],{},[626,1112,1113],{},"SamplingConfig",[940,1115,1116],{},[626,1117,1118],{},"undefined",[940,1120,1121,1122],{},"Head and tail sampling configuration. See ",[1028,1123,66],{"href":67},[919,1125,1126,1131,1136,1141],{},[940,1127,1128],{},[626,1129,1130],{},"redact",[940,1132,1133],{},[626,1134,1135],{},"boolean | RedactConfig",[940,1137,1138,1140],{},[626,1139,954],{}," in production",[940,1142,1143,1144,1146,1147],{},"Enabled by default in production. ",[626,1145,960],{}," to disable. Object for fine-grained control. See ",[1028,1148,71],{"href":72},[919,1150,1151,1156,1161,1165],{},[940,1152,1153],{},[626,1154,1155],{},"drain",[940,1157,1158],{},[626,1159,1160],{},"(ctx: DrainContext) => void",[940,1162,1163],{},[626,1164,1118],{},[940,1166,1167],{},"Drain callback for sending events to external services",[608,1169,1170,1173,1174,1176,1177,1180,1181,1184,1185,1188,1189,1192,1193,1196,1197,1200],{},[626,1171,1172],{},"RedactConfig"," fields (when ",[626,1175,1130],{}," is an object): ",[626,1178,1179],{},"paths"," (dot-notation with globs), ",[626,1182,1183],{},"patterns"," (regex on string values), ",[626,1186,1187],{},"builtins",", ",[626,1190,1191],{},"replacement"," (string, or a function computing it from the matched value), ",[626,1194,1195],{},"transform"," (hook for conditional policies). Full table in ",[1028,1198,71],{"href":1199},"\u002Flearn\u002Fredaction#configuration-reference",".",[1202,1203,1205,1207],"h3",{"id":1204},"minlevel-vs-sampling",[626,1206,1080],{}," vs sampling",[1209,1210,1211,1249,1265],"ul",{},[1212,1213,1214,1218,1219,1222,1223,1226,1227,1230,1231,1234,1235,1238,1239,1244,1245,1248],"li",{},[612,1215,1216],{},[626,1217,1080],{}," is a ",[612,1220,1221],{},"hard threshold"," on the simple ",[626,1224,1225],{},"log.*"," API: levels below the threshold are never emitted. It does ",[612,1228,1229],{},"not"," apply to wide events from ",[626,1232,1233],{},"useLogger"," \u002F ",[626,1236,1237],{},"createLogger().emit()",", use ",[612,1240,1241],{},[626,1242,1243],{},"sampling.rates"," (and tail ",[626,1246,1247],{},"keep",") for request volume.",[1212,1250,1251,1254,1255,1257,1258,1261,1262,1264],{},[612,1252,1253],{},"Head sampling"," (",[626,1256,1243],{},") is ",[612,1259,1260],{},"probabilistic"," on what is already allowed by ",[626,1263,1080],{}," for simple logs.",[1212,1266,1267,1272,1273,1275,1276,1281,1282,1285],{},[612,1268,1269],{},[626,1270,1271],{},"fatal"," events are always kept, regardless of ",[626,1274,1243],{},". ",[612,1277,1278],{},[626,1279,1280],{},"trace"," events are dropped by default; set ",[626,1283,1284],{},"sampling.rates.trace"," (0-100) to opt in.",[608,1287,1288,1289,1234,1292,1295,1296,1298,1299,1301],{},"Evaluation order for ",[626,1290,1291],{},"log.info",[626,1293,1294],{},"log.debug"," \u002F etc.: ",[626,1297,944],{}," → ",[626,1300,1080],{}," → head sampling → output.",[1202,1303,1031],{"id":1304},"tune-the-dev-terminal-output",[608,1306,1307,1308,1311],{},"Pretty error blocks run only when ",[626,1309,1310],{},"pretty: true"," (default in development). Production always emits JSON wide events, with no stack snippets and no disk reads.",[608,1313,1314,1315,1317,1318,1321],{},"Use ",[626,1316,1008],{}," to control ",[612,1319,1320],{},"two independent axes",": whether Nitro's Youch overlay runs, and how much stack detail evlog prints inside the wide event.",[608,1323,1324,1327],{},[612,1325,1326],{},"Presets"," (recommended):",[913,1329,1330,1343],{},[916,1331,1332],{},[919,1333,1334,1337,1340],{},[922,1335,1336],{},"Preset",[922,1338,1339],{},"Nitro overlay",[922,1341,1342],{},"evlog error block",[935,1344,1345,1358,1371],{},[919,1346,1347,1352,1355],{},[940,1348,1349,1351],{},[626,1350,1018],{}," (default in pretty dev)",[940,1353,1354],{},"Off",[940,1356,1357],{},"Full — location, snippet, stack tail, Why\u002FFix",[919,1359,1360,1365,1368],{},[940,1361,1362],{},[626,1363,1364],{},"'nitro'",[940,1366,1367],{},"On",[940,1369,1370],{},"Guidance only — message + Why\u002FFix\u002Flink (stack from Nitro)",[919,1372,1373,1378,1380],{},[940,1374,1375],{},[626,1376,1377],{},"'both'",[940,1379,1367],{},[940,1381,1382],{},"Full — evlog block + Nitro overlay (debug)",[638,1384,1387],{"className":640,"code":1385,"filename":1386,"language":643,"meta":644,"style":644},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    pretty: true,\n    dev: 'evlog', \u002F\u002F or 'nitro' | 'both'\n  },\n})\n","nuxt.config.ts",[626,1388,1389,1404,1425,1435,1446,1465,1470],{"__ignoreMap":644},[648,1390,1391,1394,1397,1400,1402],{"class":650,"line":651},[648,1392,1393],{"class":654},"export",[648,1395,1396],{"class":654}," default",[648,1398,1399],{"class":713}," defineNuxtConfig",[648,1401,716],{"class":662},[648,1403,719],{"class":658},[648,1405,1406,1409,1411,1413,1415,1418,1420,1423],{"class":650,"line":682},[648,1407,1408],{"class":725},"  modules",[648,1410,729],{"class":658},[648,1412,868],{"class":662},[648,1414,759],{"class":658},[648,1416,1417],{"class":675},"evlog\u002Fnuxt",[648,1419,759],{"class":658},[648,1421,1422],{"class":662},"]",[648,1424,736],{"class":658},[648,1426,1427,1430,1432],{"class":650,"line":703},[648,1428,1429],{"class":725},"  evlog",[648,1431,729],{"class":658},[648,1433,1434],{"class":658}," {\n",[648,1436,1437,1440,1442,1444],{"class":650,"line":710},[648,1438,1439],{"class":725},"    pretty",[648,1441,729],{"class":658},[648,1443,733],{"class":732},[648,1445,736],{"class":658},[648,1447,1448,1451,1453,1455,1457,1459,1461],{"class":650,"line":722},[648,1449,1450],{"class":725},"    dev",[648,1452,729],{"class":658},[648,1454,672],{"class":658},[648,1456,676],{"class":675},[648,1458,759],{"class":658},[648,1460,762],{"class":658},[648,1462,1464],{"class":1463},"sHwdD"," \u002F\u002F or 'nitro' | 'both'\n",[648,1466,1467],{"class":650,"line":739},[648,1468,1469],{"class":658},"  },\n",[648,1471,1472,1474],{"class":650,"line":780},[648,1473,908],{"class":658},[648,1475,911],{"class":662},[608,1477,1478,1481],{},[612,1479,1480],{},"Explicit object"," (fine-grained):",[638,1483,1485],{"className":640,"code":1484,"filename":1386,"language":643,"meta":644,"style":644},"evlog: {\n  dev: {\n    frameworkOverlay: true,\n    prettyError: {\n      snippet: false,\n      stackDepth: 0,\n      compact: true,\n      detail: 'guidance', \u002F\u002F 'full' | 'guidance'\n    },\n  },\n}\n",[626,1486,1487,1496,1505,1516,1525,1536,1548,1559,1578,1583,1587],{"__ignoreMap":644},[648,1488,1489,1492,1494],{"class":650,"line":651},[648,1490,676],{"class":1491},"sBMFI",[648,1493,729],{"class":658},[648,1495,1434],{"class":658},[648,1497,1498,1501,1503],{"class":650,"line":682},[648,1499,1500],{"class":1491},"  dev",[648,1502,729],{"class":658},[648,1504,1434],{"class":658},[648,1506,1507,1510,1512,1514],{"class":650,"line":703},[648,1508,1509],{"class":1491},"    frameworkOverlay",[648,1511,729],{"class":658},[648,1513,733],{"class":732},[648,1515,736],{"class":658},[648,1517,1518,1521,1523],{"class":650,"line":710},[648,1519,1520],{"class":1491},"    prettyError",[648,1522,729],{"class":658},[648,1524,1434],{"class":658},[648,1526,1527,1530,1532,1534],{"class":650,"line":722},[648,1528,1529],{"class":1491},"      snippet",[648,1531,729],{"class":658},[648,1533,788],{"class":732},[648,1535,736],{"class":658},[648,1537,1538,1541,1543,1546],{"class":650,"line":739},[648,1539,1540],{"class":1491},"      stackDepth",[648,1542,729],{"class":658},[648,1544,1545],{"class":856}," 0",[648,1547,736],{"class":658},[648,1549,1550,1553,1555,1557],{"class":650,"line":780},[648,1551,1552],{"class":1491},"      compact",[648,1554,729],{"class":658},[648,1556,733],{"class":732},[648,1558,736],{"class":658},[648,1560,1561,1564,1566,1568,1571,1573,1575],{"class":650,"line":793},[648,1562,1563],{"class":1491},"      detail",[648,1565,729],{"class":658},[648,1567,672],{"class":658},[648,1569,1570],{"class":675},"guidance",[648,1572,759],{"class":658},[648,1574,762],{"class":658},[648,1576,1577],{"class":1463}," \u002F\u002F 'full' | 'guidance'\n",[648,1579,1580],{"class":650,"line":805},[648,1581,1582],{"class":658},"    },\n",[648,1584,1585],{"class":650,"line":817},[648,1586,1469],{"class":658},[648,1588,1589],{"class":650,"line":834},[648,1590,1591],{"class":658},"}\n",[608,1593,1594,1595,1599],{},"See ",[1028,1596,1598],{"href":1597},"\u002Flearn\u002Fstructured-errors#development-terminal-output","Development terminal output"," in Structured Errors for an example of the pretty error tree.",[1202,1601,1603],{"id":1602},"stamp-the-environment-on-every-event","Stamp the environment on every event",[608,1605,1606,1607,1609],{},"The ",[626,1608,968],{}," option controls the fields included in every log event, and the table below names the variable each one is read from when you leave it unset.",[913,1611,1612,1626],{},[916,1613,1614],{},[919,1615,1616,1619,1621,1623],{},[922,1617,1618],{},"Field",[922,1620,927],{},[922,1622,930],{},[922,1624,1625],{},"Auto-detected from",[935,1627,1628,1650,1670,1690,1719],{},[919,1629,1630,1635,1640,1645],{},[940,1631,1632],{},[626,1633,1634],{},"service",[940,1636,1637],{},[626,1638,1639],{},"string",[940,1641,1642],{},[626,1643,1644],{},"'app'",[940,1646,1647],{},[626,1648,1649],{},"SERVICE_NAME",[919,1651,1652,1657,1661,1666],{},[940,1653,1654],{},[626,1655,1656],{},"environment",[940,1658,1659],{},[626,1660,1639],{},[940,1662,1663],{},[626,1664,1665],{},"'development'",[940,1667,1668],{},[626,1669,1001],{},[919,1671,1672,1677,1681,1685],{},[940,1673,1674],{},[626,1675,1676],{},"version",[940,1678,1679],{},[626,1680,1639],{},[940,1682,1683],{},[626,1684,1118],{},[940,1686,1687],{},[626,1688,1689],{},"APP_VERSION",[919,1691,1692,1697,1701,1705],{},[940,1693,1694],{},[626,1695,1696],{},"commitHash",[940,1698,1699],{},[626,1700,1639],{},[940,1702,1703],{},[626,1704,1118],{},[940,1706,1707,1188,1710,1188,1713,1188,1716],{},[626,1708,1709],{},"COMMIT_SHA",[626,1711,1712],{},"GITHUB_SHA",[626,1714,1715],{},"VERCEL_GIT_COMMIT_SHA",[626,1717,1718],{},"CF_PAGES_COMMIT_SHA",[919,1720,1721,1726,1730,1734],{},[940,1722,1723],{},[626,1724,1725],{},"region",[940,1727,1728],{},[626,1729,1639],{},[940,1731,1732],{},[626,1733,1118],{},[940,1735,1736,1188,1739,1188,1742,1188,1745],{},[626,1737,1738],{},"VERCEL_REGION",[626,1740,1741],{},"AWS_REGION",[626,1743,1744],{},"FLY_REGION",[626,1746,1747],{},"CF_REGION",[1202,1749,1751],{"id":1750},"silence-the-terminal","Silence the terminal",[608,1753,1314,1754,1756],{},[626,1755,1038],{}," when your deployment platform captures stdout as its primary log ingestion (GCP Cloud Run, AWS Lambda, Fly.io, Railway, etc.) and you want a drain adapter to control the output format.",[638,1758,1760],{"className":640,"code":1759,"filename":642,"language":643,"meta":644,"style":644},"import { initLogger } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitLogger({\n  silent: process.env.NODE_ENV === 'production',\n  drain: createAxiomDrain(),\n})\n",[626,1761,1762,1780,1798,1802,1810,1839,1851],{"__ignoreMap":644},[648,1763,1764,1766,1768,1770,1772,1774,1776,1778],{"class":650,"line":651},[648,1765,655],{"class":654},[648,1767,659],{"class":658},[648,1769,663],{"class":662},[648,1771,666],{"class":658},[648,1773,669],{"class":654},[648,1775,672],{"class":658},[648,1777,676],{"class":675},[648,1779,679],{"class":658},[648,1781,1782,1784,1786,1788,1790,1792,1794,1796],{"class":650,"line":682},[648,1783,655],{"class":654},[648,1785,659],{"class":658},[648,1787,689],{"class":662},[648,1789,666],{"class":658},[648,1791,669],{"class":654},[648,1793,672],{"class":658},[648,1795,698],{"class":675},[648,1797,679],{"class":658},[648,1799,1800],{"class":650,"line":703},[648,1801,707],{"emptyLinePlaceholder":706},[648,1803,1804,1806,1808],{"class":650,"line":710},[648,1805,628],{"class":713},[648,1807,716],{"class":662},[648,1809,719],{"class":658},[648,1811,1812,1814,1816,1819,1821,1823,1825,1828,1831,1833,1835,1837],{"class":650,"line":722},[648,1813,796],{"class":725},[648,1815,729],{"class":658},[648,1817,1818],{"class":662}," process",[648,1820,1200],{"class":658},[648,1822,968],{"class":662},[648,1824,1200],{"class":658},[648,1826,1827],{"class":662},"NODE_ENV ",[648,1829,1830],{"class":658},"===",[648,1832,672],{"class":658},[648,1834,772],{"class":675},[648,1836,759],{"class":658},[648,1838,736],{"class":658},[648,1840,1841,1843,1845,1847,1849],{"class":650,"line":739},[648,1842,893],{"class":725},[648,1844,729],{"class":658},[648,1846,689],{"class":713},[648,1848,900],{"class":662},[648,1850,736],{"class":658},[648,1852,1853,1855],{"class":650,"line":780},[648,1854,908],{"class":658},[648,1856,911],{"class":662},[1858,1859,1862,1863,1865],"callout",{"color":1860,"icon":1861},"warning","i-lucide-alert-triangle","If ",[626,1864,1038],{}," is enabled without a drain, events are built and sampled but never output anywhere, which evlog warns about at startup.",[621,1867,1869],{"id":1868},"middleware-options","Middleware options",[608,1871,1872],{},"These options are passed to the framework middleware\u002Fplugin. They control per-request behavior: which routes to log, how to drain and enrich events, and custom tail sampling logic.",[1874,1875,1876,2173,2367,2464],"code-group",{},[638,1877,1879],{"className":640,"code":1878,"filename":245,"language":643,"meta":644,"style":644},"\u002F\u002F lib\u002Fevlog.ts\nimport { createEvlog } from 'evlog\u002Fnext'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nexport const { withEvlog, useLogger, log, createError } = createEvlog({\n  service: 'my-app',\n  include: ['\u002Fapi\u002F**'],\n  exclude: ['\u002Fapi\u002Fhealth'],\n  routes: { '\u002Fapi\u002Fauth\u002F**': { service: 'auth' } },\n  drain: createAxiomDrain(),\n  enrich: (ctx) => { ctx.event.region = process.env.FLY_REGION },\n  keep: (ctx) => { if (ctx.duration > 2000) ctx.shouldKeep = true },\n})\n",[626,1880,1881,1886,1906,1924,1928,1967,1983,2003,2023,2058,2070,2116,2167],{"__ignoreMap":644},[648,1882,1883],{"class":650,"line":651},[648,1884,1885],{"class":1463},"\u002F\u002F lib\u002Fevlog.ts\n",[648,1887,1888,1890,1892,1895,1897,1899,1901,1904],{"class":650,"line":682},[648,1889,655],{"class":654},[648,1891,659],{"class":658},[648,1893,1894],{"class":662}," createEvlog",[648,1896,666],{"class":658},[648,1898,669],{"class":654},[648,1900,672],{"class":658},[648,1902,1903],{"class":675},"evlog\u002Fnext",[648,1905,679],{"class":658},[648,1907,1908,1910,1912,1914,1916,1918,1920,1922],{"class":650,"line":703},[648,1909,655],{"class":654},[648,1911,659],{"class":658},[648,1913,689],{"class":662},[648,1915,666],{"class":658},[648,1917,669],{"class":654},[648,1919,672],{"class":658},[648,1921,698],{"class":675},[648,1923,679],{"class":658},[648,1925,1926],{"class":650,"line":710},[648,1927,707],{"emptyLinePlaceholder":706},[648,1929,1930,1932,1936,1938,1941,1943,1946,1948,1951,1953,1956,1958,1961,1963,1965],{"class":650,"line":722},[648,1931,1393],{"class":654},[648,1933,1935],{"class":1934},"spNyl"," const",[648,1937,659],{"class":658},[648,1939,1940],{"class":662}," withEvlog",[648,1942,762],{"class":658},[648,1944,1945],{"class":662}," useLogger",[648,1947,762],{"class":658},[648,1949,1950],{"class":662}," log",[648,1952,762],{"class":658},[648,1954,1955],{"class":662}," createError ",[648,1957,908],{"class":658},[648,1959,1960],{"class":658}," =",[648,1962,1894],{"class":713},[648,1964,716],{"class":662},[648,1966,719],{"class":658},[648,1968,1969,1972,1974,1976,1979,1981],{"class":650,"line":739},[648,1970,1971],{"class":725},"  service",[648,1973,729],{"class":658},[648,1975,672],{"class":658},[648,1977,1978],{"class":675},"my-app",[648,1980,759],{"class":658},[648,1982,736],{"class":658},[648,1984,1985,1988,1990,1992,1994,1997,1999,2001],{"class":650,"line":780},[648,1986,1987],{"class":725},"  include",[648,1989,729],{"class":658},[648,1991,868],{"class":662},[648,1993,759],{"class":658},[648,1995,1996],{"class":675},"\u002Fapi\u002F**",[648,1998,759],{"class":658},[648,2000,1422],{"class":662},[648,2002,736],{"class":658},[648,2004,2005,2008,2010,2012,2014,2017,2019,2021],{"class":650,"line":793},[648,2006,2007],{"class":725},"  exclude",[648,2009,729],{"class":658},[648,2011,868],{"class":662},[648,2013,759],{"class":658},[648,2015,2016],{"class":675},"\u002Fapi\u002Fhealth",[648,2018,759],{"class":658},[648,2020,1422],{"class":662},[648,2022,736],{"class":658},[648,2024,2025,2028,2030,2032,2034,2037,2039,2041,2043,2045,2047,2049,2052,2054,2056],{"class":650,"line":805},[648,2026,2027],{"class":725},"  routes",[648,2029,729],{"class":658},[648,2031,659],{"class":658},[648,2033,672],{"class":658},[648,2035,2036],{"class":725},"\u002Fapi\u002Fauth\u002F**",[648,2038,759],{"class":658},[648,2040,729],{"class":658},[648,2042,659],{"class":658},[648,2044,749],{"class":725},[648,2046,729],{"class":658},[648,2048,672],{"class":658},[648,2050,2051],{"class":675},"auth",[648,2053,759],{"class":658},[648,2055,666],{"class":658},[648,2057,777],{"class":658},[648,2059,2060,2062,2064,2066,2068],{"class":650,"line":817},[648,2061,893],{"class":725},[648,2063,729],{"class":658},[648,2065,689],{"class":713},[648,2067,900],{"class":662},[648,2069,736],{"class":658},[648,2071,2072,2075,2077,2079,2083,2085,2088,2090,2093,2095,2098,2100,2102,2104,2106,2108,2110,2112,2114],{"class":650,"line":834},[648,2073,2074],{"class":713},"  enrich",[648,2076,729],{"class":658},[648,2078,1254],{"class":658},[648,2080,2082],{"class":2081},"sHdIc","ctx",[648,2084,629],{"class":658},[648,2086,2087],{"class":1934}," =>",[648,2089,659],{"class":658},[648,2091,2092],{"class":662}," ctx",[648,2094,1200],{"class":658},[648,2096,2097],{"class":662},"event",[648,2099,1200],{"class":658},[648,2101,1725],{"class":662},[648,2103,1960],{"class":658},[648,2105,1818],{"class":662},[648,2107,1200],{"class":658},[648,2109,968],{"class":662},[648,2111,1200],{"class":658},[648,2113,1744],{"class":662},[648,2115,777],{"class":658},[648,2117,2118,2121,2123,2125,2127,2129,2131,2133,2136,2138,2140,2142,2145,2148,2151,2154,2156,2158,2161,2163,2165],{"class":650,"line":890},[648,2119,2120],{"class":713},"  keep",[648,2122,729],{"class":658},[648,2124,1254],{"class":658},[648,2126,2082],{"class":2081},[648,2128,629],{"class":658},[648,2130,2087],{"class":1934},[648,2132,659],{"class":658},[648,2134,2135],{"class":654}," if",[648,2137,1254],{"class":725},[648,2139,2082],{"class":662},[648,2141,1200],{"class":658},[648,2143,2144],{"class":662},"duration",[648,2146,2147],{"class":658}," >",[648,2149,2150],{"class":856}," 2000",[648,2152,2153],{"class":725},") ",[648,2155,2082],{"class":662},[648,2157,1200],{"class":658},[648,2159,2160],{"class":662},"shouldKeep",[648,2162,1960],{"class":658},[648,2164,733],{"class":732},[648,2166,777],{"class":658},[648,2168,2169,2171],{"class":650,"line":905},[648,2170,908],{"class":658},[648,2172,911],{"class":662},[638,2174,2176],{"className":640,"code":2175,"filename":275,"language":643,"meta":644,"style":644},"app.use(evlog({\n  include: ['\u002Fapi\u002F**'],\n  exclude: ['\u002Fapi\u002Fhealth'],\n  routes: { '\u002Fapi\u002Fauth\u002F**': { service: 'auth' } },\n  drain: createAxiomDrain(),\n  enrich: (ctx) => { ctx.event.region = process.env.FLY_REGION },\n  keep: (ctx) => { if (ctx.duration > 2000) ctx.shouldKeep = true },\n}))\n",[626,2177,2178,2196,2214,2232,2264,2276,2316,2360],{"__ignoreMap":644},[648,2179,2180,2183,2185,2188,2190,2192,2194],{"class":650,"line":651},[648,2181,2182],{"class":662},"app",[648,2184,1200],{"class":658},[648,2186,2187],{"class":713},"use",[648,2189,716],{"class":662},[648,2191,676],{"class":713},[648,2193,716],{"class":662},[648,2195,719],{"class":658},[648,2197,2198,2200,2202,2204,2206,2208,2210,2212],{"class":650,"line":682},[648,2199,1987],{"class":725},[648,2201,729],{"class":658},[648,2203,868],{"class":662},[648,2205,759],{"class":658},[648,2207,1996],{"class":675},[648,2209,759],{"class":658},[648,2211,1422],{"class":662},[648,2213,736],{"class":658},[648,2215,2216,2218,2220,2222,2224,2226,2228,2230],{"class":650,"line":703},[648,2217,2007],{"class":725},[648,2219,729],{"class":658},[648,2221,868],{"class":662},[648,2223,759],{"class":658},[648,2225,2016],{"class":675},[648,2227,759],{"class":658},[648,2229,1422],{"class":662},[648,2231,736],{"class":658},[648,2233,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262],{"class":650,"line":710},[648,2235,2027],{"class":725},[648,2237,729],{"class":658},[648,2239,659],{"class":658},[648,2241,672],{"class":658},[648,2243,2036],{"class":725},[648,2245,759],{"class":658},[648,2247,729],{"class":658},[648,2249,659],{"class":658},[648,2251,749],{"class":725},[648,2253,729],{"class":658},[648,2255,672],{"class":658},[648,2257,2051],{"class":675},[648,2259,759],{"class":658},[648,2261,666],{"class":658},[648,2263,777],{"class":658},[648,2265,2266,2268,2270,2272,2274],{"class":650,"line":722},[648,2267,893],{"class":725},[648,2269,729],{"class":658},[648,2271,689],{"class":713},[648,2273,900],{"class":662},[648,2275,736],{"class":658},[648,2277,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314],{"class":650,"line":739},[648,2279,2074],{"class":713},[648,2281,729],{"class":658},[648,2283,1254],{"class":658},[648,2285,2082],{"class":2081},[648,2287,629],{"class":658},[648,2289,2087],{"class":1934},[648,2291,659],{"class":658},[648,2293,2092],{"class":662},[648,2295,1200],{"class":658},[648,2297,2097],{"class":662},[648,2299,1200],{"class":658},[648,2301,1725],{"class":662},[648,2303,1960],{"class":658},[648,2305,1818],{"class":662},[648,2307,1200],{"class":658},[648,2309,968],{"class":662},[648,2311,1200],{"class":658},[648,2313,1744],{"class":662},[648,2315,777],{"class":658},[648,2317,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358],{"class":650,"line":780},[648,2319,2120],{"class":713},[648,2321,729],{"class":658},[648,2323,1254],{"class":658},[648,2325,2082],{"class":2081},[648,2327,629],{"class":658},[648,2329,2087],{"class":1934},[648,2331,659],{"class":658},[648,2333,2135],{"class":654},[648,2335,1254],{"class":725},[648,2337,2082],{"class":662},[648,2339,1200],{"class":658},[648,2341,2144],{"class":662},[648,2343,2147],{"class":658},[648,2345,2150],{"class":856},[648,2347,2153],{"class":725},[648,2349,2082],{"class":662},[648,2351,1200],{"class":658},[648,2353,2160],{"class":662},[648,2355,1960],{"class":658},[648,2357,733],{"class":732},[648,2359,777],{"class":658},[648,2361,2362,2364],{"class":650,"line":793},[648,2363,908],{"class":658},[648,2365,2366],{"class":662},"))\n",[638,2368,2370],{"className":640,"code":2369,"filename":270,"language":643,"meta":644,"style":644},"app.use(evlog({\n  include: ['\u002Fapi\u002F**'],\n  drain: createAxiomDrain(),\n  enrich: (ctx) => { ctx.event.region = process.env.FLY_REGION },\n}))\n",[626,2371,2372,2388,2406,2418,2458],{"__ignoreMap":644},[648,2373,2374,2376,2378,2380,2382,2384,2386],{"class":650,"line":651},[648,2375,2182],{"class":662},[648,2377,1200],{"class":658},[648,2379,2187],{"class":713},[648,2381,716],{"class":662},[648,2383,676],{"class":713},[648,2385,716],{"class":662},[648,2387,719],{"class":658},[648,2389,2390,2392,2394,2396,2398,2400,2402,2404],{"class":650,"line":682},[648,2391,1987],{"class":725},[648,2393,729],{"class":658},[648,2395,868],{"class":662},[648,2397,759],{"class":658},[648,2399,1996],{"class":675},[648,2401,759],{"class":658},[648,2403,1422],{"class":662},[648,2405,736],{"class":658},[648,2407,2408,2410,2412,2414,2416],{"class":650,"line":703},[648,2409,893],{"class":725},[648,2411,729],{"class":658},[648,2413,689],{"class":713},[648,2415,900],{"class":662},[648,2417,736],{"class":658},[648,2419,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456],{"class":650,"line":710},[648,2421,2074],{"class":713},[648,2423,729],{"class":658},[648,2425,1254],{"class":658},[648,2427,2082],{"class":2081},[648,2429,629],{"class":658},[648,2431,2087],{"class":1934},[648,2433,659],{"class":658},[648,2435,2092],{"class":662},[648,2437,1200],{"class":658},[648,2439,2097],{"class":662},[648,2441,1200],{"class":658},[648,2443,1725],{"class":662},[648,2445,1960],{"class":658},[648,2447,1818],{"class":662},[648,2449,1200],{"class":658},[648,2451,968],{"class":662},[648,2453,1200],{"class":658},[648,2455,1744],{"class":662},[648,2457,777],{"class":658},[648,2459,2460,2462],{"class":650,"line":722},[648,2461,908],{"class":658},[648,2463,2366],{"class":662},[638,2465,2467],{"className":640,"code":2466,"filename":280,"language":643,"meta":644,"style":644},"await app.register(evlog, {\n  include: ['\u002Fapi\u002F**'],\n  drain: createAxiomDrain(),\n})\n",[626,2468,2469,2489,2507,2519],{"__ignoreMap":644},[648,2470,2471,2474,2477,2479,2482,2485,2487],{"class":650,"line":651},[648,2472,2473],{"class":654},"await",[648,2475,2476],{"class":662}," app",[648,2478,1200],{"class":658},[648,2480,2481],{"class":713},"register",[648,2483,2484],{"class":662},"(evlog",[648,2486,762],{"class":658},[648,2488,1434],{"class":658},[648,2490,2491,2493,2495,2497,2499,2501,2503,2505],{"class":650,"line":682},[648,2492,1987],{"class":725},[648,2494,729],{"class":658},[648,2496,868],{"class":662},[648,2498,759],{"class":658},[648,2500,1996],{"class":675},[648,2502,759],{"class":658},[648,2504,1422],{"class":662},[648,2506,736],{"class":658},[648,2508,2509,2511,2513,2515,2517],{"class":650,"line":703},[648,2510,893],{"class":725},[648,2512,729],{"class":658},[648,2514,689],{"class":713},[648,2516,900],{"class":662},[648,2518,736],{"class":658},[648,2520,2521,2523],{"class":650,"line":710},[648,2522,908],{"class":658},[648,2524,911],{"class":662},[913,2526,2527,2539],{},[916,2528,2529],{},[919,2530,2531,2533,2535,2537],{},[922,2532,924],{},[922,2534,927],{},[922,2536,930],{},[922,2538,933],{},[935,2540,2541,2560,2578,2597,2614,2633],{},[919,2542,2543,2548,2553,2557],{},[940,2544,2545],{},[626,2546,2547],{},"include",[940,2549,2550],{},[626,2551,2552],{},"string[]",[940,2554,2555],{},[626,2556,1118],{},[940,2558,2559],{},"Route glob patterns to log. If not set, all routes are logged",[919,2561,2562,2567,2571,2575],{},[940,2563,2564],{},[626,2565,2566],{},"exclude",[940,2568,2569],{},[626,2570,2552],{},[940,2572,2573],{},[626,2574,1118],{},[940,2576,2577],{},"Route patterns to exclude. Exclusions take precedence over inclusions",[919,2579,2580,2585,2590,2594],{},[940,2581,2582],{},[626,2583,2584],{},"routes",[940,2586,2587],{},[626,2588,2589],{},"Record\u003Cstring, { service: string }>",[940,2591,2592],{},[626,2593,1118],{},[940,2595,2596],{},"Route-specific service name overrides",[919,2598,2599,2603,2607,2611],{},[940,2600,2601],{},[626,2602,1155],{},[940,2604,2605],{},[626,2606,1160],{},[940,2608,2609],{},[626,2610,1118],{},[940,2612,2613],{},"Drain callback called with every emitted event",[919,2615,2616,2621,2626,2630],{},[940,2617,2618],{},[626,2619,2620],{},"enrich",[940,2622,2623],{},[626,2624,2625],{},"(ctx: EnrichContext) => void",[940,2627,2628],{},[626,2629,1118],{},[940,2631,2632],{},"Enrich callback called after emit, before drain",[919,2634,2635,2639,2644,2648],{},[940,2636,2637],{},[626,2638,1247],{},[940,2640,2641],{},[626,2642,2643],{},"(ctx: TailSamplingContext) => void",[940,2645,2646],{},[626,2647,1118],{},[940,2649,2650],{},"Custom tail sampling callback",[1858,2652,2653,2656,2657,1188,2660,1188,2663,2666,2667,2669,2670,2672],{"color":827,"icon":13},[612,2654,2655],{},"Nuxt and Nitro"," use module config and Nitro hooks (",[626,2658,2659],{},"evlog:drain",[626,2661,2662],{},"evlog:enrich",[626,2664,2665],{},"evlog:emit:keep",") instead of middleware options. See the ",[1028,2668,240],{"href":241}," and ",[1028,2671,255],{"href":256}," pages.",[1202,2674,2676],{"id":2675},"middleware-drain-vs-global-drain","Middleware drain vs global drain",[608,2678,2679,2680,2682,2683,2685],{},"When a middleware ",[626,2681,1155],{}," is set, it takes precedence over the global drain from ",[626,2684,635],{},". If no middleware drain is set, the global drain is used as fallback, with the benefit of receiving the full enriched event with request context (method, path, headers).",[638,2687,2689],{"className":640,"code":2688,"filename":642,"language":643,"meta":644,"style":644},"import { initLogger } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitLogger({\n  env: { service: 'my-api' },\n  drain: createAxiomDrain(), \u002F\u002F fallback: used by singleton log API AND middleware (if no middleware drain)\n})\n\napp.use(evlog({\n  \u002F\u002F no drain here - falls back to globalDrain from initLogger, with full request context\n}))\n",[626,2690,2691,2709,2727,2731,2739,2759,2774,2780,2784,2800,2805],{"__ignoreMap":644},[648,2692,2693,2695,2697,2699,2701,2703,2705,2707],{"class":650,"line":651},[648,2694,655],{"class":654},[648,2696,659],{"class":658},[648,2698,663],{"class":662},[648,2700,666],{"class":658},[648,2702,669],{"class":654},[648,2704,672],{"class":658},[648,2706,676],{"class":675},[648,2708,679],{"class":658},[648,2710,2711,2713,2715,2717,2719,2721,2723,2725],{"class":650,"line":682},[648,2712,655],{"class":654},[648,2714,659],{"class":658},[648,2716,689],{"class":662},[648,2718,666],{"class":658},[648,2720,669],{"class":654},[648,2722,672],{"class":658},[648,2724,698],{"class":675},[648,2726,679],{"class":658},[648,2728,2729],{"class":650,"line":703},[648,2730,707],{"emptyLinePlaceholder":706},[648,2732,2733,2735,2737],{"class":650,"line":710},[648,2734,628],{"class":713},[648,2736,716],{"class":662},[648,2738,719],{"class":658},[648,2740,2741,2743,2745,2747,2749,2751,2753,2755,2757],{"class":650,"line":722},[648,2742,742],{"class":725},[648,2744,729],{"class":658},[648,2746,659],{"class":658},[648,2748,749],{"class":725},[648,2750,729],{"class":658},[648,2752,672],{"class":658},[648,2754,756],{"class":675},[648,2756,759],{"class":658},[648,2758,777],{"class":658},[648,2760,2761,2763,2765,2767,2769,2771],{"class":650,"line":739},[648,2762,893],{"class":725},[648,2764,729],{"class":658},[648,2766,689],{"class":713},[648,2768,900],{"class":662},[648,2770,762],{"class":658},[648,2772,2773],{"class":1463}," \u002F\u002F fallback: used by singleton log API AND middleware (if no middleware drain)\n",[648,2775,2776,2778],{"class":650,"line":780},[648,2777,908],{"class":658},[648,2779,911],{"class":662},[648,2781,2782],{"class":650,"line":793},[648,2783,707],{"emptyLinePlaceholder":706},[648,2785,2786,2788,2790,2792,2794,2796,2798],{"class":650,"line":805},[648,2787,2182],{"class":662},[648,2789,1200],{"class":658},[648,2791,2187],{"class":713},[648,2793,716],{"class":662},[648,2795,676],{"class":713},[648,2797,716],{"class":662},[648,2799,719],{"class":658},[648,2801,2802],{"class":650,"line":817},[648,2803,2804],{"class":1463},"  \u002F\u002F no drain here - falls back to globalDrain from initLogger, with full request context\n",[648,2806,2807,2809],{"class":650,"line":834},[648,2808,908],{"class":658},[648,2810,2366],{"class":662},[621,2812,2814],{"id":2813},"framework-specific-options","Framework-specific options",[608,2816,2817],{},"Some frameworks have additional options beyond the shared config:",[1202,2819,240],{"id":2820},"nuxt",[608,2822,2823,2824,2826,2827,2829],{},"The Nuxt module accepts all global options and middleware options in ",[626,2825,1386],{}," under the ",[626,2828,676],{}," key, plus:",[913,2831,2832,2844],{},[916,2833,2834],{},[919,2835,2836,2838,2840,2842],{},[922,2837,924],{},[922,2839,927],{},[922,2841,930],{},[922,2843,933],{},[935,2845,2846,2864,2882,2901],{},[919,2847,2848,2853,2857,2861],{},[940,2849,2850],{},[626,2851,2852],{},"console",[940,2854,2855],{},[626,2856,949],{},[940,2858,2859],{},[626,2860,954],{},[940,2862,2863],{},"Enable\u002Fdisable browser console output (client-side only)",[919,2865,2866,2871,2875,2879],{},[940,2867,2868],{},[626,2869,2870],{},"transport.enabled",[940,2872,2873],{},[626,2874,949],{},[940,2876,2877],{},[626,2878,960],{},[940,2880,2881],{},"Send client logs to the server via API endpoint",[919,2883,2884,2889,2893,2898],{},[940,2885,2886],{},[626,2887,2888],{},"transport.endpoint",[940,2890,2891],{},[626,2892,1639],{},[940,2894,2895],{},[626,2896,2897],{},"'\u002Fapi\u002F_evlog\u002Fingest'",[940,2899,2900],{},"Custom transport endpoint",[919,2902,2903,2908,2913,2918],{},[940,2904,2905],{},[626,2906,2907],{},"transport.credentials",[940,2909,2910],{},[626,2911,2912],{},"RequestCredentials",[940,2914,2915],{},[626,2916,2917],{},"'same-origin'",[940,2919,2920,2921,2924],{},"Fetch credentials mode (",[626,2922,2923],{},"'include'"," for cross-origin endpoints)",[608,2926,2927,2928,1200],{},"See the full ",[1028,2929,2931],{"href":2930},"\u002Fintegrate\u002Fframeworks\u002Fnuxt#configuration","Nuxt configuration",[1202,2933,255],{"id":2934},"nitro",[608,2936,2937,2938,1188,2940,1188,2942,1188,2944,1188,2946,1188,2948,1188,2950,2952,2953,2955,2956,2959],{},"The Nitro module accepts ",[626,2939,944],{},[626,2941,968],{},[626,2943,986],{},[626,2945,1038],{},[626,2947,1108],{},[626,2949,2547],{},[626,2951,2566],{},", and ",[626,2954,2584],{}," in ",[626,2957,2958],{},"nitro.config.ts",", and leaves drain and enrichment to the Nitro hooks.",[608,2961,1594,2962,1200],{},[1028,2963,2965],{"href":2964},"\u002Fintegrate\u002Fframeworks\u002Fnitro#drain--enrichers","Nitro drain & enrichers",[2967,2968,2969],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .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}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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}",{"title":644,"searchDepth":682,"depth":682,"links":2971},[2972,2980,2983],{"id":623,"depth":682,"text":2973,"children":2974},"Global options (initLogger)",[2975,2977,2978,2979],{"id":1204,"depth":703,"text":2976},"minLevel vs sampling",{"id":1304,"depth":703,"text":1031},{"id":1602,"depth":703,"text":1603},{"id":1750,"depth":703,"text":1751},{"id":1868,"depth":682,"text":1869,"children":2981},[2982],{"id":2675,"depth":703,"text":2676},{"id":2813,"depth":682,"text":2814,"children":2984},[2985,2986],{"id":2820,"depth":703,"text":240},{"id":2934,"depth":703,"text":255},"Every evlog option is listed here, from global logger settings to the framework overrides that take precedence over them.","md",[2990,2993],{"label":66,"icon":69,"to":67,"color":2991,"variant":2992},"neutral","subtle",{"label":2994,"icon":354,"to":153,"color":2991,"variant":2992},"Drain Adapters",{},{"icon":550},{"title":547,"description":2987},"eeiMpXvoh82dcWbkWd_jlXcs_LmTfzhR9xgUBbjLiBY",[3000,3002],{"title":41,"path":543,"stem":544,"description":3001,"icon":545,"children":-1},"Every option, every number, and every comparison, in one place. Start here when you know what evlog does and need the exact value.",{"title":383,"path":552,"stem":553,"description":3003,"icon":112,"children":-1},"Inspect evlog benchmark workloads, output settings, and bundle measurements before estimating the cost of your logging configuration.",1791049455164]