[{"data":1,"prerenderedAt":4344},["ShallowReactive",2],{"navigation_docs":3,"-reference-configuration":602,"-reference-configuration-surround":4339},[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":4327,"extension":4328,"links":4329,"meta":4335,"navigation":4336,"path":548,"seo":4337,"stem":549,"__hash__":4338},"docs\u002F7.reference\u002F1.configuration.md",{"type":605,"value":606,"toc":4310},"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,3865,3991,4013,4017,4026,4151,4155,4158,4161,4170,4265,4272,4275,4300,4306],[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,2169,2395,2645,2839,2936,2997,3211,3425,3651],"framework-tabs",{},[638,1877,1880],{"className":640,"code":1878,"filename":245,"language":643,"meta":1879,"style":644},"import { 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","lib\u002Fevlog.ts",[626,1881,1882,1902,1920,1924,1963,1979,1999,2019,2054,2066,2112,2163],{"__ignoreMap":644},[648,1883,1884,1886,1888,1891,1893,1895,1897,1900],{"class":650,"line":651},[648,1885,655],{"class":654},[648,1887,659],{"class":658},[648,1889,1890],{"class":662}," createEvlog",[648,1892,666],{"class":658},[648,1894,669],{"class":654},[648,1896,672],{"class":658},[648,1898,1899],{"class":675},"evlog\u002Fnext",[648,1901,679],{"class":658},[648,1903,1904,1906,1908,1910,1912,1914,1916,1918],{"class":650,"line":682},[648,1905,655],{"class":654},[648,1907,659],{"class":658},[648,1909,689],{"class":662},[648,1911,666],{"class":658},[648,1913,669],{"class":654},[648,1915,672],{"class":658},[648,1917,698],{"class":675},[648,1919,679],{"class":658},[648,1921,1922],{"class":650,"line":703},[648,1923,707],{"emptyLinePlaceholder":706},[648,1925,1926,1928,1932,1934,1937,1939,1942,1944,1947,1949,1952,1954,1957,1959,1961],{"class":650,"line":710},[648,1927,1393],{"class":654},[648,1929,1931],{"class":1930},"spNyl"," const",[648,1933,659],{"class":658},[648,1935,1936],{"class":662}," withEvlog",[648,1938,762],{"class":658},[648,1940,1941],{"class":662}," useLogger",[648,1943,762],{"class":658},[648,1945,1946],{"class":662}," log",[648,1948,762],{"class":658},[648,1950,1951],{"class":662}," createError ",[648,1953,908],{"class":658},[648,1955,1956],{"class":658}," =",[648,1958,1890],{"class":713},[648,1960,716],{"class":662},[648,1962,719],{"class":658},[648,1964,1965,1968,1970,1972,1975,1977],{"class":650,"line":722},[648,1966,1967],{"class":725},"  service",[648,1969,729],{"class":658},[648,1971,672],{"class":658},[648,1973,1974],{"class":675},"my-app",[648,1976,759],{"class":658},[648,1978,736],{"class":658},[648,1980,1981,1984,1986,1988,1990,1993,1995,1997],{"class":650,"line":739},[648,1982,1983],{"class":725},"  include",[648,1985,729],{"class":658},[648,1987,868],{"class":662},[648,1989,759],{"class":658},[648,1991,1992],{"class":675},"\u002Fapi\u002F**",[648,1994,759],{"class":658},[648,1996,1422],{"class":662},[648,1998,736],{"class":658},[648,2000,2001,2004,2006,2008,2010,2013,2015,2017],{"class":650,"line":780},[648,2002,2003],{"class":725},"  exclude",[648,2005,729],{"class":658},[648,2007,868],{"class":662},[648,2009,759],{"class":658},[648,2011,2012],{"class":675},"\u002Fapi\u002Fhealth",[648,2014,759],{"class":658},[648,2016,1422],{"class":662},[648,2018,736],{"class":658},[648,2020,2021,2024,2026,2028,2030,2033,2035,2037,2039,2041,2043,2045,2048,2050,2052],{"class":650,"line":793},[648,2022,2023],{"class":725},"  routes",[648,2025,729],{"class":658},[648,2027,659],{"class":658},[648,2029,672],{"class":658},[648,2031,2032],{"class":725},"\u002Fapi\u002Fauth\u002F**",[648,2034,759],{"class":658},[648,2036,729],{"class":658},[648,2038,659],{"class":658},[648,2040,749],{"class":725},[648,2042,729],{"class":658},[648,2044,672],{"class":658},[648,2046,2047],{"class":675},"auth",[648,2049,759],{"class":658},[648,2051,666],{"class":658},[648,2053,777],{"class":658},[648,2055,2056,2058,2060,2062,2064],{"class":650,"line":805},[648,2057,893],{"class":725},[648,2059,729],{"class":658},[648,2061,689],{"class":713},[648,2063,900],{"class":662},[648,2065,736],{"class":658},[648,2067,2068,2071,2073,2075,2079,2081,2084,2086,2089,2091,2094,2096,2098,2100,2102,2104,2106,2108,2110],{"class":650,"line":817},[648,2069,2070],{"class":713},"  enrich",[648,2072,729],{"class":658},[648,2074,1254],{"class":658},[648,2076,2078],{"class":2077},"sHdIc","ctx",[648,2080,629],{"class":658},[648,2082,2083],{"class":1930}," =>",[648,2085,659],{"class":658},[648,2087,2088],{"class":662}," ctx",[648,2090,1200],{"class":658},[648,2092,2093],{"class":662},"event",[648,2095,1200],{"class":658},[648,2097,1725],{"class":662},[648,2099,1956],{"class":658},[648,2101,1818],{"class":662},[648,2103,1200],{"class":658},[648,2105,968],{"class":662},[648,2107,1200],{"class":658},[648,2109,1744],{"class":662},[648,2111,777],{"class":658},[648,2113,2114,2117,2119,2121,2123,2125,2127,2129,2132,2134,2136,2138,2141,2144,2147,2150,2152,2154,2157,2159,2161],{"class":650,"line":834},[648,2115,2116],{"class":713},"  keep",[648,2118,729],{"class":658},[648,2120,1254],{"class":658},[648,2122,2078],{"class":2077},[648,2124,629],{"class":658},[648,2126,2083],{"class":1930},[648,2128,659],{"class":658},[648,2130,2131],{"class":654}," if",[648,2133,1254],{"class":725},[648,2135,2078],{"class":662},[648,2137,1200],{"class":658},[648,2139,2140],{"class":662},"duration",[648,2142,2143],{"class":658}," >",[648,2145,2146],{"class":856}," 2000",[648,2148,2149],{"class":725},") ",[648,2151,2078],{"class":662},[648,2153,1200],{"class":658},[648,2155,2156],{"class":662},"shouldKeep",[648,2158,1956],{"class":658},[648,2160,733],{"class":732},[648,2162,777],{"class":658},[648,2164,2165,2167],{"class":650,"line":890},[648,2166,908],{"class":658},[648,2168,911],{"class":662},[638,2170,2173],{"className":640,"code":2171,"filename":250,"language":643,"meta":2172,"style":644},"import { createEvlogHooks } from 'evlog\u002Fsveltekit'\n\nexport const { handle, handleError } = createEvlogHooks({\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","src\u002Fhooks.server.ts",[626,2174,2175,2195,2199,2225,2243,2261,2293,2305,2345,2389],{"__ignoreMap":644},[648,2176,2177,2179,2181,2184,2186,2188,2190,2193],{"class":650,"line":651},[648,2178,655],{"class":654},[648,2180,659],{"class":658},[648,2182,2183],{"class":662}," createEvlogHooks",[648,2185,666],{"class":658},[648,2187,669],{"class":654},[648,2189,672],{"class":658},[648,2191,2192],{"class":675},"evlog\u002Fsveltekit",[648,2194,679],{"class":658},[648,2196,2197],{"class":650,"line":682},[648,2198,707],{"emptyLinePlaceholder":706},[648,2200,2201,2203,2205,2207,2210,2212,2215,2217,2219,2221,2223],{"class":650,"line":703},[648,2202,1393],{"class":654},[648,2204,1931],{"class":1930},[648,2206,659],{"class":658},[648,2208,2209],{"class":662}," handle",[648,2211,762],{"class":658},[648,2213,2214],{"class":662}," handleError ",[648,2216,908],{"class":658},[648,2218,1956],{"class":658},[648,2220,2183],{"class":713},[648,2222,716],{"class":662},[648,2224,719],{"class":658},[648,2226,2227,2229,2231,2233,2235,2237,2239,2241],{"class":650,"line":710},[648,2228,1983],{"class":725},[648,2230,729],{"class":658},[648,2232,868],{"class":662},[648,2234,759],{"class":658},[648,2236,1992],{"class":675},[648,2238,759],{"class":658},[648,2240,1422],{"class":662},[648,2242,736],{"class":658},[648,2244,2245,2247,2249,2251,2253,2255,2257,2259],{"class":650,"line":722},[648,2246,2003],{"class":725},[648,2248,729],{"class":658},[648,2250,868],{"class":662},[648,2252,759],{"class":658},[648,2254,2012],{"class":675},[648,2256,759],{"class":658},[648,2258,1422],{"class":662},[648,2260,736],{"class":658},[648,2262,2263,2265,2267,2269,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291],{"class":650,"line":739},[648,2264,2023],{"class":725},[648,2266,729],{"class":658},[648,2268,659],{"class":658},[648,2270,672],{"class":658},[648,2272,2032],{"class":725},[648,2274,759],{"class":658},[648,2276,729],{"class":658},[648,2278,659],{"class":658},[648,2280,749],{"class":725},[648,2282,729],{"class":658},[648,2284,672],{"class":658},[648,2286,2047],{"class":675},[648,2288,759],{"class":658},[648,2290,666],{"class":658},[648,2292,777],{"class":658},[648,2294,2295,2297,2299,2301,2303],{"class":650,"line":780},[648,2296,893],{"class":725},[648,2298,729],{"class":658},[648,2300,689],{"class":713},[648,2302,900],{"class":662},[648,2304,736],{"class":658},[648,2306,2307,2309,2311,2313,2315,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343],{"class":650,"line":793},[648,2308,2070],{"class":713},[648,2310,729],{"class":658},[648,2312,1254],{"class":658},[648,2314,2078],{"class":2077},[648,2316,629],{"class":658},[648,2318,2083],{"class":1930},[648,2320,659],{"class":658},[648,2322,2088],{"class":662},[648,2324,1200],{"class":658},[648,2326,2093],{"class":662},[648,2328,1200],{"class":658},[648,2330,1725],{"class":662},[648,2332,1956],{"class":658},[648,2334,1818],{"class":662},[648,2336,1200],{"class":658},[648,2338,968],{"class":662},[648,2340,1200],{"class":658},[648,2342,1744],{"class":662},[648,2344,777],{"class":658},[648,2346,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2371,2373,2375,2377,2379,2381,2383,2385,2387],{"class":650,"line":805},[648,2348,2116],{"class":713},[648,2350,729],{"class":658},[648,2352,1254],{"class":658},[648,2354,2078],{"class":2077},[648,2356,629],{"class":658},[648,2358,2083],{"class":1930},[648,2360,659],{"class":658},[648,2362,2131],{"class":654},[648,2364,1254],{"class":725},[648,2366,2078],{"class":662},[648,2368,1200],{"class":658},[648,2370,2140],{"class":662},[648,2372,2143],{"class":658},[648,2374,2146],{"class":856},[648,2376,2149],{"class":725},[648,2378,2078],{"class":662},[648,2380,1200],{"class":658},[648,2382,2156],{"class":662},[648,2384,1956],{"class":658},[648,2386,733],{"class":732},[648,2388,777],{"class":658},[648,2390,2391,2393],{"class":650,"line":817},[648,2392,908],{"class":658},[648,2394,911],{"class":662},[638,2396,2399],{"className":640,"code":2397,"filename":290,"language":643,"meta":2398,"style":644},"import { evlog } from 'evlog\u002Freact-router'\n\nexport const middleware: Route.MiddlewareFunction[] = [\n  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]\n","app\u002Froot.tsx",[626,2400,2401,2421,2425,2453,2461,2480,2499,2532,2545,2586,2631,2640],{"__ignoreMap":644},[648,2402,2403,2405,2407,2410,2412,2414,2416,2419],{"class":650,"line":651},[648,2404,655],{"class":654},[648,2406,659],{"class":658},[648,2408,2409],{"class":662}," evlog",[648,2411,666],{"class":658},[648,2413,669],{"class":654},[648,2415,672],{"class":658},[648,2417,2418],{"class":675},"evlog\u002Freact-router",[648,2420,679],{"class":658},[648,2422,2423],{"class":650,"line":682},[648,2424,707],{"emptyLinePlaceholder":706},[648,2426,2427,2429,2431,2434,2436,2439,2441,2444,2447,2450],{"class":650,"line":703},[648,2428,1393],{"class":654},[648,2430,1931],{"class":1930},[648,2432,2433],{"class":662}," middleware",[648,2435,729],{"class":658},[648,2437,2438],{"class":1491}," Route",[648,2440,1200],{"class":658},[648,2442,2443],{"class":1491},"MiddlewareFunction",[648,2445,2446],{"class":662},"[] ",[648,2448,2449],{"class":658},"=",[648,2451,2452],{"class":662}," [\n",[648,2454,2455,2457,2459],{"class":650,"line":710},[648,2456,1429],{"class":713},[648,2458,716],{"class":662},[648,2460,719],{"class":658},[648,2462,2463,2466,2468,2470,2472,2474,2476,2478],{"class":650,"line":722},[648,2464,2465],{"class":725},"    include",[648,2467,729],{"class":658},[648,2469,868],{"class":662},[648,2471,759],{"class":658},[648,2473,1992],{"class":675},[648,2475,759],{"class":658},[648,2477,1422],{"class":662},[648,2479,736],{"class":658},[648,2481,2482,2485,2487,2489,2491,2493,2495,2497],{"class":650,"line":739},[648,2483,2484],{"class":725},"    exclude",[648,2486,729],{"class":658},[648,2488,868],{"class":662},[648,2490,759],{"class":658},[648,2492,2012],{"class":675},[648,2494,759],{"class":658},[648,2496,1422],{"class":662},[648,2498,736],{"class":658},[648,2500,2501,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530],{"class":650,"line":780},[648,2502,2503],{"class":725},"    routes",[648,2505,729],{"class":658},[648,2507,659],{"class":658},[648,2509,672],{"class":658},[648,2511,2032],{"class":725},[648,2513,759],{"class":658},[648,2515,729],{"class":658},[648,2517,659],{"class":658},[648,2519,749],{"class":725},[648,2521,729],{"class":658},[648,2523,672],{"class":658},[648,2525,2047],{"class":675},[648,2527,759],{"class":658},[648,2529,666],{"class":658},[648,2531,777],{"class":658},[648,2533,2534,2537,2539,2541,2543],{"class":650,"line":793},[648,2535,2536],{"class":725},"    drain",[648,2538,729],{"class":658},[648,2540,689],{"class":713},[648,2542,900],{"class":662},[648,2544,736],{"class":658},[648,2546,2547,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584],{"class":650,"line":805},[648,2548,2549],{"class":713},"    enrich",[648,2551,729],{"class":658},[648,2553,1254],{"class":658},[648,2555,2078],{"class":2077},[648,2557,629],{"class":658},[648,2559,2083],{"class":1930},[648,2561,659],{"class":658},[648,2563,2088],{"class":662},[648,2565,1200],{"class":658},[648,2567,2093],{"class":662},[648,2569,1200],{"class":658},[648,2571,1725],{"class":662},[648,2573,1956],{"class":658},[648,2575,1818],{"class":662},[648,2577,1200],{"class":658},[648,2579,968],{"class":662},[648,2581,1200],{"class":658},[648,2583,1744],{"class":662},[648,2585,777],{"class":658},[648,2587,2588,2591,2593,2595,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625,2627,2629],{"class":650,"line":817},[648,2589,2590],{"class":713},"    keep",[648,2592,729],{"class":658},[648,2594,1254],{"class":658},[648,2596,2078],{"class":2077},[648,2598,629],{"class":658},[648,2600,2083],{"class":1930},[648,2602,659],{"class":658},[648,2604,2131],{"class":654},[648,2606,1254],{"class":725},[648,2608,2078],{"class":662},[648,2610,1200],{"class":658},[648,2612,2140],{"class":662},[648,2614,2143],{"class":658},[648,2616,2146],{"class":856},[648,2618,2149],{"class":725},[648,2620,2078],{"class":662},[648,2622,1200],{"class":658},[648,2624,2156],{"class":662},[648,2626,1956],{"class":658},[648,2628,733],{"class":732},[648,2630,777],{"class":658},[648,2632,2633,2636,2638],{"class":650,"line":834},[648,2634,2635],{"class":658},"  }",[648,2637,629],{"class":662},[648,2639,736],{"class":658},[648,2641,2642],{"class":650,"line":890},[648,2643,2644],{"class":662},"]\n",[638,2646,2648],{"className":640,"code":2647,"filename":275,"language":643,"meta":642,"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,2649,2650,2668,2686,2704,2736,2748,2788,2832],{"__ignoreMap":644},[648,2651,2652,2655,2657,2660,2662,2664,2666],{"class":650,"line":651},[648,2653,2654],{"class":662},"app",[648,2656,1200],{"class":658},[648,2658,2659],{"class":713},"use",[648,2661,716],{"class":662},[648,2663,676],{"class":713},[648,2665,716],{"class":662},[648,2667,719],{"class":658},[648,2669,2670,2672,2674,2676,2678,2680,2682,2684],{"class":650,"line":682},[648,2671,1983],{"class":725},[648,2673,729],{"class":658},[648,2675,868],{"class":662},[648,2677,759],{"class":658},[648,2679,1992],{"class":675},[648,2681,759],{"class":658},[648,2683,1422],{"class":662},[648,2685,736],{"class":658},[648,2687,2688,2690,2692,2694,2696,2698,2700,2702],{"class":650,"line":703},[648,2689,2003],{"class":725},[648,2691,729],{"class":658},[648,2693,868],{"class":662},[648,2695,759],{"class":658},[648,2697,2012],{"class":675},[648,2699,759],{"class":658},[648,2701,1422],{"class":662},[648,2703,736],{"class":658},[648,2705,2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734],{"class":650,"line":710},[648,2707,2023],{"class":725},[648,2709,729],{"class":658},[648,2711,659],{"class":658},[648,2713,672],{"class":658},[648,2715,2032],{"class":725},[648,2717,759],{"class":658},[648,2719,729],{"class":658},[648,2721,659],{"class":658},[648,2723,749],{"class":725},[648,2725,729],{"class":658},[648,2727,672],{"class":658},[648,2729,2047],{"class":675},[648,2731,759],{"class":658},[648,2733,666],{"class":658},[648,2735,777],{"class":658},[648,2737,2738,2740,2742,2744,2746],{"class":650,"line":722},[648,2739,893],{"class":725},[648,2741,729],{"class":658},[648,2743,689],{"class":713},[648,2745,900],{"class":662},[648,2747,736],{"class":658},[648,2749,2750,2752,2754,2756,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786],{"class":650,"line":739},[648,2751,2070],{"class":713},[648,2753,729],{"class":658},[648,2755,1254],{"class":658},[648,2757,2078],{"class":2077},[648,2759,629],{"class":658},[648,2761,2083],{"class":1930},[648,2763,659],{"class":658},[648,2765,2088],{"class":662},[648,2767,1200],{"class":658},[648,2769,2093],{"class":662},[648,2771,1200],{"class":658},[648,2773,1725],{"class":662},[648,2775,1956],{"class":658},[648,2777,1818],{"class":662},[648,2779,1200],{"class":658},[648,2781,968],{"class":662},[648,2783,1200],{"class":658},[648,2785,1744],{"class":662},[648,2787,777],{"class":658},[648,2789,2790,2792,2794,2796,2798,2800,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830],{"class":650,"line":780},[648,2791,2116],{"class":713},[648,2793,729],{"class":658},[648,2795,1254],{"class":658},[648,2797,2078],{"class":2077},[648,2799,629],{"class":658},[648,2801,2083],{"class":1930},[648,2803,659],{"class":658},[648,2805,2131],{"class":654},[648,2807,1254],{"class":725},[648,2809,2078],{"class":662},[648,2811,1200],{"class":658},[648,2813,2140],{"class":662},[648,2815,2143],{"class":658},[648,2817,2146],{"class":856},[648,2819,2149],{"class":725},[648,2821,2078],{"class":662},[648,2823,1200],{"class":658},[648,2825,2156],{"class":662},[648,2827,1956],{"class":658},[648,2829,733],{"class":732},[648,2831,777],{"class":658},[648,2833,2834,2836],{"class":650,"line":793},[648,2835,908],{"class":658},[648,2837,2838],{"class":662},"))\n",[638,2840,2842],{"className":640,"code":2841,"filename":270,"language":643,"meta":642,"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,2843,2844,2860,2878,2890,2930],{"__ignoreMap":644},[648,2845,2846,2848,2850,2852,2854,2856,2858],{"class":650,"line":651},[648,2847,2654],{"class":662},[648,2849,1200],{"class":658},[648,2851,2659],{"class":713},[648,2853,716],{"class":662},[648,2855,676],{"class":713},[648,2857,716],{"class":662},[648,2859,719],{"class":658},[648,2861,2862,2864,2866,2868,2870,2872,2874,2876],{"class":650,"line":682},[648,2863,1983],{"class":725},[648,2865,729],{"class":658},[648,2867,868],{"class":662},[648,2869,759],{"class":658},[648,2871,1992],{"class":675},[648,2873,759],{"class":658},[648,2875,1422],{"class":662},[648,2877,736],{"class":658},[648,2879,2880,2882,2884,2886,2888],{"class":650,"line":703},[648,2881,893],{"class":725},[648,2883,729],{"class":658},[648,2885,689],{"class":713},[648,2887,900],{"class":662},[648,2889,736],{"class":658},[648,2891,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910,2912,2914,2916,2918,2920,2922,2924,2926,2928],{"class":650,"line":710},[648,2893,2070],{"class":713},[648,2895,729],{"class":658},[648,2897,1254],{"class":658},[648,2899,2078],{"class":2077},[648,2901,629],{"class":658},[648,2903,2083],{"class":1930},[648,2905,659],{"class":658},[648,2907,2088],{"class":662},[648,2909,1200],{"class":658},[648,2911,2093],{"class":662},[648,2913,1200],{"class":658},[648,2915,1725],{"class":662},[648,2917,1956],{"class":658},[648,2919,1818],{"class":662},[648,2921,1200],{"class":658},[648,2923,968],{"class":662},[648,2925,1200],{"class":658},[648,2927,1744],{"class":662},[648,2929,777],{"class":658},[648,2931,2932,2934],{"class":650,"line":722},[648,2933,908],{"class":658},[648,2935,2838],{"class":662},[638,2937,2939],{"className":640,"code":2938,"filename":280,"language":643,"meta":642,"style":644},"await app.register(evlog, {\n  include: ['\u002Fapi\u002F**'],\n  drain: createAxiomDrain(),\n})\n",[626,2940,2941,2961,2979,2991],{"__ignoreMap":644},[648,2942,2943,2946,2949,2951,2954,2957,2959],{"class":650,"line":651},[648,2944,2945],{"class":654},"await",[648,2947,2948],{"class":662}," app",[648,2950,1200],{"class":658},[648,2952,2953],{"class":713},"register",[648,2955,2956],{"class":662},"(evlog",[648,2958,762],{"class":658},[648,2960,1434],{"class":658},[648,2962,2963,2965,2967,2969,2971,2973,2975,2977],{"class":650,"line":682},[648,2964,1983],{"class":725},[648,2966,729],{"class":658},[648,2968,868],{"class":662},[648,2970,759],{"class":658},[648,2972,1992],{"class":675},[648,2974,759],{"class":658},[648,2976,1422],{"class":662},[648,2978,736],{"class":658},[648,2980,2981,2983,2985,2987,2989],{"class":650,"line":703},[648,2982,893],{"class":725},[648,2984,729],{"class":658},[648,2986,689],{"class":713},[648,2988,900],{"class":662},[648,2990,736],{"class":658},[648,2992,2993,2995],{"class":650,"line":710},[648,2994,908],{"class":658},[648,2996,911],{"class":662},[638,2998,3000],{"className":640,"code":2999,"filename":285,"language":643,"meta":642,"style":644},"import { evlog } from 'evlog\u002Felysia'\n\napp.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,3001,3002,3021,3025,3041,3059,3077,3109,3121,3161,3205],{"__ignoreMap":644},[648,3003,3004,3006,3008,3010,3012,3014,3016,3019],{"class":650,"line":651},[648,3005,655],{"class":654},[648,3007,659],{"class":658},[648,3009,2409],{"class":662},[648,3011,666],{"class":658},[648,3013,669],{"class":654},[648,3015,672],{"class":658},[648,3017,3018],{"class":675},"evlog\u002Felysia",[648,3020,679],{"class":658},[648,3022,3023],{"class":650,"line":682},[648,3024,707],{"emptyLinePlaceholder":706},[648,3026,3027,3029,3031,3033,3035,3037,3039],{"class":650,"line":703},[648,3028,2654],{"class":662},[648,3030,1200],{"class":658},[648,3032,2659],{"class":713},[648,3034,716],{"class":662},[648,3036,676],{"class":713},[648,3038,716],{"class":662},[648,3040,719],{"class":658},[648,3042,3043,3045,3047,3049,3051,3053,3055,3057],{"class":650,"line":710},[648,3044,1983],{"class":725},[648,3046,729],{"class":658},[648,3048,868],{"class":662},[648,3050,759],{"class":658},[648,3052,1992],{"class":675},[648,3054,759],{"class":658},[648,3056,1422],{"class":662},[648,3058,736],{"class":658},[648,3060,3061,3063,3065,3067,3069,3071,3073,3075],{"class":650,"line":722},[648,3062,2003],{"class":725},[648,3064,729],{"class":658},[648,3066,868],{"class":662},[648,3068,759],{"class":658},[648,3070,2012],{"class":675},[648,3072,759],{"class":658},[648,3074,1422],{"class":662},[648,3076,736],{"class":658},[648,3078,3079,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101,3103,3105,3107],{"class":650,"line":739},[648,3080,2023],{"class":725},[648,3082,729],{"class":658},[648,3084,659],{"class":658},[648,3086,672],{"class":658},[648,3088,2032],{"class":725},[648,3090,759],{"class":658},[648,3092,729],{"class":658},[648,3094,659],{"class":658},[648,3096,749],{"class":725},[648,3098,729],{"class":658},[648,3100,672],{"class":658},[648,3102,2047],{"class":675},[648,3104,759],{"class":658},[648,3106,666],{"class":658},[648,3108,777],{"class":658},[648,3110,3111,3113,3115,3117,3119],{"class":650,"line":780},[648,3112,893],{"class":725},[648,3114,729],{"class":658},[648,3116,689],{"class":713},[648,3118,900],{"class":662},[648,3120,736],{"class":658},[648,3122,3123,3125,3127,3129,3131,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159],{"class":650,"line":793},[648,3124,2070],{"class":713},[648,3126,729],{"class":658},[648,3128,1254],{"class":658},[648,3130,2078],{"class":2077},[648,3132,629],{"class":658},[648,3134,2083],{"class":1930},[648,3136,659],{"class":658},[648,3138,2088],{"class":662},[648,3140,1200],{"class":658},[648,3142,2093],{"class":662},[648,3144,1200],{"class":658},[648,3146,1725],{"class":662},[648,3148,1956],{"class":658},[648,3150,1818],{"class":662},[648,3152,1200],{"class":658},[648,3154,968],{"class":662},[648,3156,1200],{"class":658},[648,3158,1744],{"class":662},[648,3160,777],{"class":658},[648,3162,3163,3165,3167,3169,3171,3173,3175,3177,3179,3181,3183,3185,3187,3189,3191,3193,3195,3197,3199,3201,3203],{"class":650,"line":805},[648,3164,2116],{"class":713},[648,3166,729],{"class":658},[648,3168,1254],{"class":658},[648,3170,2078],{"class":2077},[648,3172,629],{"class":658},[648,3174,2083],{"class":1930},[648,3176,659],{"class":658},[648,3178,2131],{"class":654},[648,3180,1254],{"class":725},[648,3182,2078],{"class":662},[648,3184,1200],{"class":658},[648,3186,2140],{"class":662},[648,3188,2143],{"class":658},[648,3190,2146],{"class":856},[648,3192,2149],{"class":725},[648,3194,2078],{"class":662},[648,3196,1200],{"class":658},[648,3198,2156],{"class":662},[648,3200,1956],{"class":658},[648,3202,733],{"class":732},[648,3204,777],{"class":658},[648,3206,3207,3209],{"class":650,"line":817},[648,3208,908],{"class":658},[648,3210,2838],{"class":662},[638,3212,3215],{"className":640,"code":3213,"filename":265,"language":643,"meta":3214,"style":644},"import { EvlogModule } from 'evlog\u002Fnestjs'\n\nEvlogModule.forRoot({\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","src\u002Fapp.module.ts",[626,3216,3217,3237,3241,3255,3273,3291,3323,3335,3375,3419],{"__ignoreMap":644},[648,3218,3219,3221,3223,3226,3228,3230,3232,3235],{"class":650,"line":651},[648,3220,655],{"class":654},[648,3222,659],{"class":658},[648,3224,3225],{"class":662}," EvlogModule",[648,3227,666],{"class":658},[648,3229,669],{"class":654},[648,3231,672],{"class":658},[648,3233,3234],{"class":675},"evlog\u002Fnestjs",[648,3236,679],{"class":658},[648,3238,3239],{"class":650,"line":682},[648,3240,707],{"emptyLinePlaceholder":706},[648,3242,3243,3246,3248,3251,3253],{"class":650,"line":703},[648,3244,3245],{"class":662},"EvlogModule",[648,3247,1200],{"class":658},[648,3249,3250],{"class":713},"forRoot",[648,3252,716],{"class":662},[648,3254,719],{"class":658},[648,3256,3257,3259,3261,3263,3265,3267,3269,3271],{"class":650,"line":710},[648,3258,1983],{"class":725},[648,3260,729],{"class":658},[648,3262,868],{"class":662},[648,3264,759],{"class":658},[648,3266,1992],{"class":675},[648,3268,759],{"class":658},[648,3270,1422],{"class":662},[648,3272,736],{"class":658},[648,3274,3275,3277,3279,3281,3283,3285,3287,3289],{"class":650,"line":722},[648,3276,2003],{"class":725},[648,3278,729],{"class":658},[648,3280,868],{"class":662},[648,3282,759],{"class":658},[648,3284,2012],{"class":675},[648,3286,759],{"class":658},[648,3288,1422],{"class":662},[648,3290,736],{"class":658},[648,3292,3293,3295,3297,3299,3301,3303,3305,3307,3309,3311,3313,3315,3317,3319,3321],{"class":650,"line":739},[648,3294,2023],{"class":725},[648,3296,729],{"class":658},[648,3298,659],{"class":658},[648,3300,672],{"class":658},[648,3302,2032],{"class":725},[648,3304,759],{"class":658},[648,3306,729],{"class":658},[648,3308,659],{"class":658},[648,3310,749],{"class":725},[648,3312,729],{"class":658},[648,3314,672],{"class":658},[648,3316,2047],{"class":675},[648,3318,759],{"class":658},[648,3320,666],{"class":658},[648,3322,777],{"class":658},[648,3324,3325,3327,3329,3331,3333],{"class":650,"line":780},[648,3326,893],{"class":725},[648,3328,729],{"class":658},[648,3330,689],{"class":713},[648,3332,900],{"class":662},[648,3334,736],{"class":658},[648,3336,3337,3339,3341,3343,3345,3347,3349,3351,3353,3355,3357,3359,3361,3363,3365,3367,3369,3371,3373],{"class":650,"line":793},[648,3338,2070],{"class":713},[648,3340,729],{"class":658},[648,3342,1254],{"class":658},[648,3344,2078],{"class":2077},[648,3346,629],{"class":658},[648,3348,2083],{"class":1930},[648,3350,659],{"class":658},[648,3352,2088],{"class":662},[648,3354,1200],{"class":658},[648,3356,2093],{"class":662},[648,3358,1200],{"class":658},[648,3360,1725],{"class":662},[648,3362,1956],{"class":658},[648,3364,1818],{"class":662},[648,3366,1200],{"class":658},[648,3368,968],{"class":662},[648,3370,1200],{"class":658},[648,3372,1744],{"class":662},[648,3374,777],{"class":658},[648,3376,3377,3379,3381,3383,3385,3387,3389,3391,3393,3395,3397,3399,3401,3403,3405,3407,3409,3411,3413,3415,3417],{"class":650,"line":805},[648,3378,2116],{"class":713},[648,3380,729],{"class":658},[648,3382,1254],{"class":658},[648,3384,2078],{"class":2077},[648,3386,629],{"class":658},[648,3388,2083],{"class":1930},[648,3390,659],{"class":658},[648,3392,2131],{"class":654},[648,3394,1254],{"class":725},[648,3396,2078],{"class":662},[648,3398,1200],{"class":658},[648,3400,2140],{"class":662},[648,3402,2143],{"class":658},[648,3404,2146],{"class":856},[648,3406,2149],{"class":725},[648,3408,2078],{"class":662},[648,3410,1200],{"class":658},[648,3412,2156],{"class":662},[648,3414,1956],{"class":658},[648,3416,733],{"class":732},[648,3418,777],{"class":658},[648,3420,3421,3423],{"class":650,"line":817},[648,3422,908],{"class":658},[648,3424,911],{"class":662},[638,3426,3429],{"className":640,"code":3427,"filename":309,"language":643,"meta":3428,"style":644},"import { withEvlog } from 'evlog\u002Forpc'\n\nconst handler = withEvlog(new RPCHandler(router), {\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","server\u002Forpc.ts",[626,3430,3431,3450,3454,3481,3499,3517,3549,3561,3601,3645],{"__ignoreMap":644},[648,3432,3433,3435,3437,3439,3441,3443,3445,3448],{"class":650,"line":651},[648,3434,655],{"class":654},[648,3436,659],{"class":658},[648,3438,1936],{"class":662},[648,3440,666],{"class":658},[648,3442,669],{"class":654},[648,3444,672],{"class":658},[648,3446,3447],{"class":675},"evlog\u002Forpc",[648,3449,679],{"class":658},[648,3451,3452],{"class":650,"line":682},[648,3453,707],{"emptyLinePlaceholder":706},[648,3455,3456,3459,3462,3464,3466,3468,3471,3474,3477,3479],{"class":650,"line":703},[648,3457,3458],{"class":1930},"const",[648,3460,3461],{"class":662}," handler ",[648,3463,2449],{"class":658},[648,3465,1936],{"class":713},[648,3467,716],{"class":662},[648,3469,3470],{"class":658},"new",[648,3472,3473],{"class":713}," RPCHandler",[648,3475,3476],{"class":662},"(router)",[648,3478,762],{"class":658},[648,3480,1434],{"class":658},[648,3482,3483,3485,3487,3489,3491,3493,3495,3497],{"class":650,"line":710},[648,3484,1983],{"class":725},[648,3486,729],{"class":658},[648,3488,868],{"class":662},[648,3490,759],{"class":658},[648,3492,1992],{"class":675},[648,3494,759],{"class":658},[648,3496,1422],{"class":662},[648,3498,736],{"class":658},[648,3500,3501,3503,3505,3507,3509,3511,3513,3515],{"class":650,"line":722},[648,3502,2003],{"class":725},[648,3504,729],{"class":658},[648,3506,868],{"class":662},[648,3508,759],{"class":658},[648,3510,2012],{"class":675},[648,3512,759],{"class":658},[648,3514,1422],{"class":662},[648,3516,736],{"class":658},[648,3518,3519,3521,3523,3525,3527,3529,3531,3533,3535,3537,3539,3541,3543,3545,3547],{"class":650,"line":739},[648,3520,2023],{"class":725},[648,3522,729],{"class":658},[648,3524,659],{"class":658},[648,3526,672],{"class":658},[648,3528,2032],{"class":725},[648,3530,759],{"class":658},[648,3532,729],{"class":658},[648,3534,659],{"class":658},[648,3536,749],{"class":725},[648,3538,729],{"class":658},[648,3540,672],{"class":658},[648,3542,2047],{"class":675},[648,3544,759],{"class":658},[648,3546,666],{"class":658},[648,3548,777],{"class":658},[648,3550,3551,3553,3555,3557,3559],{"class":650,"line":780},[648,3552,893],{"class":725},[648,3554,729],{"class":658},[648,3556,689],{"class":713},[648,3558,900],{"class":662},[648,3560,736],{"class":658},[648,3562,3563,3565,3567,3569,3571,3573,3575,3577,3579,3581,3583,3585,3587,3589,3591,3593,3595,3597,3599],{"class":650,"line":793},[648,3564,2070],{"class":713},[648,3566,729],{"class":658},[648,3568,1254],{"class":658},[648,3570,2078],{"class":2077},[648,3572,629],{"class":658},[648,3574,2083],{"class":1930},[648,3576,659],{"class":658},[648,3578,2088],{"class":662},[648,3580,1200],{"class":658},[648,3582,2093],{"class":662},[648,3584,1200],{"class":658},[648,3586,1725],{"class":662},[648,3588,1956],{"class":658},[648,3590,1818],{"class":662},[648,3592,1200],{"class":658},[648,3594,968],{"class":662},[648,3596,1200],{"class":658},[648,3598,1744],{"class":662},[648,3600,777],{"class":658},[648,3602,3603,3605,3607,3609,3611,3613,3615,3617,3619,3621,3623,3625,3627,3629,3631,3633,3635,3637,3639,3641,3643],{"class":650,"line":805},[648,3604,2116],{"class":713},[648,3606,729],{"class":658},[648,3608,1254],{"class":658},[648,3610,2078],{"class":2077},[648,3612,629],{"class":658},[648,3614,2083],{"class":1930},[648,3616,659],{"class":658},[648,3618,2131],{"class":654},[648,3620,1254],{"class":725},[648,3622,2078],{"class":662},[648,3624,1200],{"class":658},[648,3626,2140],{"class":662},[648,3628,2143],{"class":658},[648,3630,2146],{"class":856},[648,3632,2149],{"class":725},[648,3634,2078],{"class":662},[648,3636,1200],{"class":658},[648,3638,2156],{"class":662},[648,3640,1956],{"class":658},[648,3642,733],{"class":732},[648,3644,777],{"class":658},[648,3646,3647,3649],{"class":650,"line":817},[648,3648,908],{"class":658},[648,3650,911],{"class":662},[638,3652,3655],{"className":640,"code":3653,"filename":295,"language":643,"meta":3654,"style":644},"import { withEvlog } from 'evlog\u002Fworkers'\n\nexport default withEvlog(handler, {\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","src\u002Fworker.ts",[626,3656,3657,3676,3680,3695,3713,3731,3763,3775,3815,3859],{"__ignoreMap":644},[648,3658,3659,3661,3663,3665,3667,3669,3671,3674],{"class":650,"line":651},[648,3660,655],{"class":654},[648,3662,659],{"class":658},[648,3664,1936],{"class":662},[648,3666,666],{"class":658},[648,3668,669],{"class":654},[648,3670,672],{"class":658},[648,3672,3673],{"class":675},"evlog\u002Fworkers",[648,3675,679],{"class":658},[648,3677,3678],{"class":650,"line":682},[648,3679,707],{"emptyLinePlaceholder":706},[648,3681,3682,3684,3686,3688,3691,3693],{"class":650,"line":703},[648,3683,1393],{"class":654},[648,3685,1396],{"class":654},[648,3687,1936],{"class":713},[648,3689,3690],{"class":662},"(handler",[648,3692,762],{"class":658},[648,3694,1434],{"class":658},[648,3696,3697,3699,3701,3703,3705,3707,3709,3711],{"class":650,"line":710},[648,3698,1983],{"class":725},[648,3700,729],{"class":658},[648,3702,868],{"class":662},[648,3704,759],{"class":658},[648,3706,1992],{"class":675},[648,3708,759],{"class":658},[648,3710,1422],{"class":662},[648,3712,736],{"class":658},[648,3714,3715,3717,3719,3721,3723,3725,3727,3729],{"class":650,"line":722},[648,3716,2003],{"class":725},[648,3718,729],{"class":658},[648,3720,868],{"class":662},[648,3722,759],{"class":658},[648,3724,2012],{"class":675},[648,3726,759],{"class":658},[648,3728,1422],{"class":662},[648,3730,736],{"class":658},[648,3732,3733,3735,3737,3739,3741,3743,3745,3747,3749,3751,3753,3755,3757,3759,3761],{"class":650,"line":739},[648,3734,2023],{"class":725},[648,3736,729],{"class":658},[648,3738,659],{"class":658},[648,3740,672],{"class":658},[648,3742,2032],{"class":725},[648,3744,759],{"class":658},[648,3746,729],{"class":658},[648,3748,659],{"class":658},[648,3750,749],{"class":725},[648,3752,729],{"class":658},[648,3754,672],{"class":658},[648,3756,2047],{"class":675},[648,3758,759],{"class":658},[648,3760,666],{"class":658},[648,3762,777],{"class":658},[648,3764,3765,3767,3769,3771,3773],{"class":650,"line":780},[648,3766,893],{"class":725},[648,3768,729],{"class":658},[648,3770,689],{"class":713},[648,3772,900],{"class":662},[648,3774,736],{"class":658},[648,3776,3777,3779,3781,3783,3785,3787,3789,3791,3793,3795,3797,3799,3801,3803,3805,3807,3809,3811,3813],{"class":650,"line":793},[648,3778,2070],{"class":713},[648,3780,729],{"class":658},[648,3782,1254],{"class":658},[648,3784,2078],{"class":2077},[648,3786,629],{"class":658},[648,3788,2083],{"class":1930},[648,3790,659],{"class":658},[648,3792,2088],{"class":662},[648,3794,1200],{"class":658},[648,3796,2093],{"class":662},[648,3798,1200],{"class":658},[648,3800,1725],{"class":662},[648,3802,1956],{"class":658},[648,3804,1818],{"class":662},[648,3806,1200],{"class":658},[648,3808,968],{"class":662},[648,3810,1200],{"class":658},[648,3812,1744],{"class":662},[648,3814,777],{"class":658},[648,3816,3817,3819,3821,3823,3825,3827,3829,3831,3833,3835,3837,3839,3841,3843,3845,3847,3849,3851,3853,3855,3857],{"class":650,"line":805},[648,3818,2116],{"class":713},[648,3820,729],{"class":658},[648,3822,1254],{"class":658},[648,3824,2078],{"class":2077},[648,3826,629],{"class":658},[648,3828,2083],{"class":1930},[648,3830,659],{"class":658},[648,3832,2131],{"class":654},[648,3834,1254],{"class":725},[648,3836,2078],{"class":662},[648,3838,1200],{"class":658},[648,3840,2140],{"class":662},[648,3842,2143],{"class":658},[648,3844,2146],{"class":856},[648,3846,2149],{"class":725},[648,3848,2078],{"class":662},[648,3850,1200],{"class":658},[648,3852,2156],{"class":662},[648,3854,1956],{"class":658},[648,3856,733],{"class":732},[648,3858,777],{"class":658},[648,3860,3861,3863],{"class":650,"line":817},[648,3862,908],{"class":658},[648,3864,911],{"class":662},[913,3866,3867,3879],{},[916,3868,3869],{},[919,3870,3871,3873,3875,3877],{},[922,3872,924],{},[922,3874,927],{},[922,3876,930],{},[922,3878,933],{},[935,3880,3881,3900,3918,3937,3954,3973],{},[919,3882,3883,3888,3893,3897],{},[940,3884,3885],{},[626,3886,3887],{},"include",[940,3889,3890],{},[626,3891,3892],{},"string[]",[940,3894,3895],{},[626,3896,1118],{},[940,3898,3899],{},"Route glob patterns to log. If not set, all routes are logged",[919,3901,3902,3907,3911,3915],{},[940,3903,3904],{},[626,3905,3906],{},"exclude",[940,3908,3909],{},[626,3910,3892],{},[940,3912,3913],{},[626,3914,1118],{},[940,3916,3917],{},"Route patterns to exclude. Exclusions take precedence over inclusions",[919,3919,3920,3925,3930,3934],{},[940,3921,3922],{},[626,3923,3924],{},"routes",[940,3926,3927],{},[626,3928,3929],{},"Record\u003Cstring, { service: string }>",[940,3931,3932],{},[626,3933,1118],{},[940,3935,3936],{},"Route-specific service name overrides",[919,3938,3939,3943,3947,3951],{},[940,3940,3941],{},[626,3942,1155],{},[940,3944,3945],{},[626,3946,1160],{},[940,3948,3949],{},[626,3950,1118],{},[940,3952,3953],{},"Drain callback called with every emitted event",[919,3955,3956,3961,3966,3970],{},[940,3957,3958],{},[626,3959,3960],{},"enrich",[940,3962,3963],{},[626,3964,3965],{},"(ctx: EnrichContext) => void",[940,3967,3968],{},[626,3969,1118],{},[940,3971,3972],{},"Enrich callback called after emit, before drain",[919,3974,3975,3979,3984,3988],{},[940,3976,3977],{},[626,3978,1247],{},[940,3980,3981],{},[626,3982,3983],{},"(ctx: TailSamplingContext) => void",[940,3985,3986],{},[626,3987,1118],{},[940,3989,3990],{},"Custom tail sampling callback",[1858,3992,3993,3996,3997,1188,4000,1188,4003,4006,4007,4009,4010,4012],{"color":827,"icon":13},[612,3994,3995],{},"Nuxt and Nitro"," use module config and Nitro hooks (",[626,3998,3999],{},"evlog:drain",[626,4001,4002],{},"evlog:enrich",[626,4004,4005],{},"evlog:emit:keep",") instead of middleware options. See the ",[1028,4008,240],{"href":241}," and ",[1028,4011,255],{"href":256}," pages.",[1202,4014,4016],{"id":4015},"middleware-drain-vs-global-drain","Middleware drain vs global drain",[608,4018,4019,4020,4022,4023,4025],{},"When a middleware ",[626,4021,1155],{}," is set, it takes precedence over the global drain from ",[626,4024,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,4027,4029],{"className":640,"code":4028,"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,4030,4031,4049,4067,4071,4079,4099,4114,4120,4124,4140,4145],{"__ignoreMap":644},[648,4032,4033,4035,4037,4039,4041,4043,4045,4047],{"class":650,"line":651},[648,4034,655],{"class":654},[648,4036,659],{"class":658},[648,4038,663],{"class":662},[648,4040,666],{"class":658},[648,4042,669],{"class":654},[648,4044,672],{"class":658},[648,4046,676],{"class":675},[648,4048,679],{"class":658},[648,4050,4051,4053,4055,4057,4059,4061,4063,4065],{"class":650,"line":682},[648,4052,655],{"class":654},[648,4054,659],{"class":658},[648,4056,689],{"class":662},[648,4058,666],{"class":658},[648,4060,669],{"class":654},[648,4062,672],{"class":658},[648,4064,698],{"class":675},[648,4066,679],{"class":658},[648,4068,4069],{"class":650,"line":703},[648,4070,707],{"emptyLinePlaceholder":706},[648,4072,4073,4075,4077],{"class":650,"line":710},[648,4074,628],{"class":713},[648,4076,716],{"class":662},[648,4078,719],{"class":658},[648,4080,4081,4083,4085,4087,4089,4091,4093,4095,4097],{"class":650,"line":722},[648,4082,742],{"class":725},[648,4084,729],{"class":658},[648,4086,659],{"class":658},[648,4088,749],{"class":725},[648,4090,729],{"class":658},[648,4092,672],{"class":658},[648,4094,756],{"class":675},[648,4096,759],{"class":658},[648,4098,777],{"class":658},[648,4100,4101,4103,4105,4107,4109,4111],{"class":650,"line":739},[648,4102,893],{"class":725},[648,4104,729],{"class":658},[648,4106,689],{"class":713},[648,4108,900],{"class":662},[648,4110,762],{"class":658},[648,4112,4113],{"class":1463}," \u002F\u002F fallback: used by singleton log API AND middleware (if no middleware drain)\n",[648,4115,4116,4118],{"class":650,"line":780},[648,4117,908],{"class":658},[648,4119,911],{"class":662},[648,4121,4122],{"class":650,"line":793},[648,4123,707],{"emptyLinePlaceholder":706},[648,4125,4126,4128,4130,4132,4134,4136,4138],{"class":650,"line":805},[648,4127,2654],{"class":662},[648,4129,1200],{"class":658},[648,4131,2659],{"class":713},[648,4133,716],{"class":662},[648,4135,676],{"class":713},[648,4137,716],{"class":662},[648,4139,719],{"class":658},[648,4141,4142],{"class":650,"line":817},[648,4143,4144],{"class":1463},"  \u002F\u002F no drain here - falls back to globalDrain from initLogger, with full request context\n",[648,4146,4147,4149],{"class":650,"line":834},[648,4148,908],{"class":658},[648,4150,2838],{"class":662},[621,4152,4154],{"id":4153},"framework-specific-options","Framework-specific options",[608,4156,4157],{},"Some frameworks have additional options beyond the shared config:",[1202,4159,240],{"id":4160},"nuxt",[608,4162,4163,4164,4166,4167,4169],{},"The Nuxt module accepts all global options and middleware options in ",[626,4165,1386],{}," under the ",[626,4168,676],{}," key, plus:",[913,4171,4172,4184],{},[916,4173,4174],{},[919,4175,4176,4178,4180,4182],{},[922,4177,924],{},[922,4179,927],{},[922,4181,930],{},[922,4183,933],{},[935,4185,4186,4204,4222,4241],{},[919,4187,4188,4193,4197,4201],{},[940,4189,4190],{},[626,4191,4192],{},"console",[940,4194,4195],{},[626,4196,949],{},[940,4198,4199],{},[626,4200,954],{},[940,4202,4203],{},"Enable\u002Fdisable browser console output (client-side only)",[919,4205,4206,4211,4215,4219],{},[940,4207,4208],{},[626,4209,4210],{},"transport.enabled",[940,4212,4213],{},[626,4214,949],{},[940,4216,4217],{},[626,4218,960],{},[940,4220,4221],{},"Send client logs to the server via API endpoint",[919,4223,4224,4229,4233,4238],{},[940,4225,4226],{},[626,4227,4228],{},"transport.endpoint",[940,4230,4231],{},[626,4232,1639],{},[940,4234,4235],{},[626,4236,4237],{},"'\u002Fapi\u002F_evlog\u002Fingest'",[940,4239,4240],{},"Custom transport endpoint",[919,4242,4243,4248,4253,4258],{},[940,4244,4245],{},[626,4246,4247],{},"transport.credentials",[940,4249,4250],{},[626,4251,4252],{},"RequestCredentials",[940,4254,4255],{},[626,4256,4257],{},"'same-origin'",[940,4259,4260,4261,4264],{},"Fetch credentials mode (",[626,4262,4263],{},"'include'"," for cross-origin endpoints)",[608,4266,4267,4268,1200],{},"See the full ",[1028,4269,4271],{"href":4270},"\u002Fintegrate\u002Fframeworks\u002Fnuxt#configuration","Nuxt configuration",[1202,4273,255],{"id":4274},"nitro",[608,4276,4277,4278,1188,4280,1188,4282,1188,4284,1188,4286,1188,4288,1188,4290,4292,4293,4295,4296,4299],{},"The Nitro module accepts ",[626,4279,944],{},[626,4281,968],{},[626,4283,986],{},[626,4285,1038],{},[626,4287,1108],{},[626,4289,3887],{},[626,4291,3906],{},", and ",[626,4294,3924],{}," in ",[626,4297,4298],{},"nitro.config.ts",", and leaves drain and enrichment to the Nitro hooks.",[608,4301,1594,4302,1200],{},[1028,4303,4305],{"href":4304},"\u002Fintegrate\u002Fframeworks\u002Fnitro#drain--enrichers","Nitro drain & enrichers",[4307,4308,4309],"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":4311},[4312,4320,4323],{"id":623,"depth":682,"text":4313,"children":4314},"Global options (initLogger)",[4315,4317,4318,4319],{"id":1204,"depth":703,"text":4316},"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":4321},[4322],{"id":4015,"depth":703,"text":4016},{"id":4153,"depth":682,"text":4154,"children":4324},[4325,4326],{"id":4160,"depth":703,"text":240},{"id":4274,"depth":703,"text":255},"Every evlog option is listed here, from global logger settings to the framework overrides that take precedence over them.","md",[4330,4333],{"label":66,"icon":69,"to":67,"color":4331,"variant":4332},"neutral","subtle",{"label":4334,"icon":354,"to":153,"color":4331,"variant":4332},"Drain Adapters",{},{"icon":550},{"title":547,"description":4327},"x19rHFDonb5r7B_FhJZUn5IBF0nl8Vg2K5gHvMpTqJY",[4340,4342],{"title":41,"path":543,"stem":544,"description":4341,"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":4343,"icon":112,"children":-1},"Inspect evlog benchmark workloads, output settings, and bundle measurements before estimating the cost of your logging configuration.",1791059990351]