[{"data":1,"prerenderedAt":4349},["ShallowReactive",2],{"navigation_docs":3,"-reference-configuration":607,"-reference-configuration-surround":4344},[4,35,85,143,323,484,543,582],{"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,138],{"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},"logs","\u002Fcli\u002Flogs","3.cli\u002F10.logs","i-lucide-scroll-text",{"title":104,"path":105,"stem":106,"icon":107},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":109,"path":110,"stem":111,"icon":112},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":114,"path":115,"stem":116,"icon":117},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":119,"path":120,"stem":121,"icon":122},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":124,"path":125,"stem":126,"icon":127},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":129,"path":130,"stem":131,"icon":132},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":134,"path":135,"stem":136,"icon":137},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":139,"path":140,"stem":141,"icon":142},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":144,"path":145,"stem":146,"children":147,"page":34},"Integrate","\u002Fintegrate","4.integrate",[148,152,235],{"title":41,"path":149,"stem":150,"icon":151},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":153,"path":154,"stem":155,"children":156,"page":34},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[157,160,190,215],{"title":41,"path":158,"stem":159,"icon":44},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":161,"path":162,"stem":163,"children":164,"page":34},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[165,170,175,180,185],{"title":166,"path":167,"stem":168,"icon":169},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":171,"path":172,"stem":173,"icon":174},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":176,"path":177,"stem":178,"icon":179},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":181,"path":182,"stem":183,"icon":184},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":186,"path":187,"stem":188,"icon":189},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":191,"path":192,"stem":193,"children":194,"page":34},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[195,200,205,210],{"title":196,"path":197,"stem":198,"icon":199},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":201,"path":202,"stem":203,"icon":204},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":206,"path":207,"stem":208,"icon":209},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":211,"path":212,"stem":213,"icon":214},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":216,"path":217,"stem":218,"children":219,"page":34},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[220,225,230],{"title":221,"path":222,"stem":223,"icon":224},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":226,"path":227,"stem":228,"icon":229},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":231,"path":232,"stem":233,"icon":234},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":236,"path":237,"stem":238,"children":239,"page":34},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[240,244,249,254,259,264,269,274,279,284,289,294,299,304,308,313,318],{"title":41,"path":241,"stem":242,"icon":243},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":245,"path":246,"stem":247,"icon":248},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":250,"path":251,"stem":252,"icon":253},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":255,"path":256,"stem":257,"icon":258},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":260,"path":261,"stem":262,"icon":263},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":265,"path":266,"stem":267,"icon":268},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":270,"path":271,"stem":272,"icon":273},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":275,"path":276,"stem":277,"icon":278},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":280,"path":281,"stem":282,"icon":283},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":285,"path":286,"stem":287,"icon":288},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":290,"path":291,"stem":292,"icon":293},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":295,"path":296,"stem":297,"icon":298},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":300,"path":301,"stem":302,"icon":303},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":305,"path":306,"stem":307,"icon":79},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":309,"path":310,"stem":311,"icon":312},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":314,"path":315,"stem":316,"icon":317},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":319,"path":320,"stem":321,"icon":322},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":324,"path":325,"stem":326,"children":327,"page":34},"Use Cases","\u002Fuse-cases","5.use-cases",[328,331,336,364,391,423,444,449,454,458],{"title":41,"path":329,"stem":330,"icon":112},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":332,"path":333,"stem":334,"icon":335},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":337,"icon":338,"path":339,"stem":340,"children":341,"page":34},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[342,345,350,355,360],{"title":41,"path":343,"stem":344,"icon":44},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":346,"path":347,"stem":348,"icon":349},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":351,"path":352,"stem":353,"icon":354},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":356,"path":357,"stem":358,"icon":359},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":361,"path":362,"stem":363,"icon":142},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":365,"icon":366,"path":367,"stem":368,"children":369,"page":34},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[370,373,378,383,387],{"title":41,"path":371,"stem":372,"icon":44},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":374,"path":375,"stem":376,"icon":377},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":379,"path":380,"stem":381,"icon":382},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":384,"path":385,"stem":386,"icon":335},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":388,"path":389,"stem":390,"icon":117},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":392,"icon":393,"path":394,"stem":395,"children":396,"page":34},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[397,400,405,410,415,419],{"title":41,"path":398,"stem":399,"icon":44},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":401,"path":402,"stem":403,"icon":404},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":406,"path":407,"stem":408,"icon":409},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":411,"path":412,"stem":413,"icon":414},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":416,"path":417,"stem":418,"icon":393},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":420,"path":421,"stem":422,"icon":84},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":361,"icon":117,"path":424,"stem":425,"children":426,"page":34},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[427,430,435,440],{"title":41,"path":428,"stem":429,"icon":44},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":431,"path":432,"stem":433,"icon":434},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":436,"path":437,"stem":438,"icon":439},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":441,"path":442,"stem":443,"icon":84},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":445,"path":446,"stem":447,"icon":448},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":450,"path":451,"stem":452,"icon":453},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":455,"path":456,"stem":457,"icon":439},"Node.js request logging","\u002Fuse-cases\u002Fstructured-logging-nodejs","5.use-cases\u002F6.structured-logging-nodejs",{"title":459,"icon":460,"path":461,"stem":462,"children":463,"page":34},"Signals","i-lucide-scan-search","\u002Fuse-cases\u002Fsignals","5.use-cases\u002F7.signals",[464,467,472,477,480],{"title":41,"path":465,"stem":466,"icon":44},"\u002Fuse-cases\u002Fsignals\u002Foverview","5.use-cases\u002F7.signals\u002F01.overview",{"title":468,"path":469,"stem":470,"icon":471},"What You Can Ask","\u002Fuse-cases\u002Fsignals\u002Fask","5.use-cases\u002F7.signals\u002F02.ask","i-lucide-message-circle-question",{"title":473,"path":474,"stem":475,"icon":476},"What It Costs","\u002Fuse-cases\u002Fsignals\u002Fcost","5.use-cases\u002F7.signals\u002F03.cost","i-lucide-coins",{"title":441,"path":478,"stem":479,"icon":84},"\u002Fuse-cases\u002Fsignals\u002Freference","5.use-cases\u002F7.signals\u002F04.reference",{"title":420,"path":481,"stem":482,"icon":483},"\u002Fuse-cases\u002Fsignals\u002Frecipes","5.use-cases\u002F7.signals\u002F05.recipes","i-lucide-lightbulb",{"title":485,"path":486,"stem":487,"children":488,"page":34},"Extend","\u002Fextend","6.extend",[489,493,498,503,507,512,516,520,524,528,533,538],{"title":41,"path":490,"stem":491,"icon":492},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":494,"path":495,"stem":496,"icon":497},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":499,"path":500,"stem":501,"icon":502},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":504,"path":505,"stem":506,"icon":497},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":508,"path":509,"stem":510,"icon":511},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":420,"path":513,"stem":514,"icon":515},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":517,"path":518,"stem":519,"icon":492},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":521,"path":522,"stem":523,"icon":448},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":525,"path":526,"stem":527,"icon":69},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":529,"path":530,"stem":531,"icon":532},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":534,"path":535,"stem":536,"icon":537},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":539,"path":540,"stem":541,"icon":542},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":441,"path":544,"stem":545,"children":546,"page":34},"\u002Freference","7.reference",[547,551,556,559,564,568,573,577],{"title":41,"path":548,"stem":549,"icon":550},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":552,"path":553,"stem":554,"icon":555},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":388,"path":557,"stem":558,"icon":117},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":560,"path":561,"stem":562,"icon":563},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":565,"path":566,"stem":567,"icon":393},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":569,"path":570,"stem":571,"icon":572},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":574,"path":575,"stem":576,"icon":448},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":578,"path":579,"stem":580,"icon":581},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":583,"path":584,"stem":585,"children":586,"page":34},"Compare","\u002Fcompare","8.compare",[587,591,595,599,603],{"title":588,"path":589,"stem":590,"icon":572},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":592,"path":593,"stem":594,"icon":209},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":596,"path":597,"stem":598,"icon":572},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":600,"path":601,"stem":602,"icon":572},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":604,"path":605,"stem":606,"icon":572},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":608,"title":552,"body":609,"description":4332,"extension":4333,"links":4334,"meta":4340,"navigation":4341,"path":553,"seo":4342,"stem":554,"__hash__":4343},"docs\u002F7.reference\u002F1.configuration.md",{"type":610,"value":611,"toc":4315},"minimark",[612,625,635,642,917,1173,1206,1213,1291,1307,1310,1317,1327,1333,1388,1481,1487,1597,1605,1609,1615,1753,1757,1762,1862,1871,1875,1878,3870,3996,4018,4022,4031,4156,4160,4163,4166,4175,4270,4277,4280,4305,4311],[613,614,615,616,620,621,624],"p",{},"evlog has two configuration surfaces, and this page documents both: ",[617,618,619],"strong",{},"global options"," set once at startup, and ",[617,622,623],{},"middleware options"," set per framework integration.",[626,627,629,630,634],"h2",{"id":628},"global-options-initlogger","Global options (",[631,632,633],"code",{},"initLogger",")",[613,636,637,638,641],{},"These options apply to all frameworks. Call ",[631,639,640],{},"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.",[643,644,650],"pre",{"className":645,"code":646,"filename":647,"language":648,"meta":649,"style":649},"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","",[631,651,652,685,706,713,725,742,783,796,808,820,837,893,908],{"__ignoreMap":649},[653,654,657,661,665,669,672,675,678,682],"span",{"class":655,"line":656},"line",1,[653,658,660],{"class":659},"s7zQu","import",[653,662,664],{"class":663},"sMK4o"," {",[653,666,668],{"class":667},"sTEyZ"," initLogger",[653,670,671],{"class":663}," }",[653,673,674],{"class":659}," from",[653,676,677],{"class":663}," '",[653,679,681],{"class":680},"sfazB","evlog",[653,683,684],{"class":663},"'\n",[653,686,688,690,692,695,697,699,701,704],{"class":655,"line":687},2,[653,689,660],{"class":659},[653,691,664],{"class":663},[653,693,694],{"class":667}," createAxiomDrain",[653,696,671],{"class":663},[653,698,674],{"class":659},[653,700,677],{"class":663},[653,702,703],{"class":680},"evlog\u002Faxiom",[653,705,684],{"class":663},[653,707,709],{"class":655,"line":708},3,[653,710,712],{"emptyLinePlaceholder":711},true,"\n",[653,714,716,719,722],{"class":655,"line":715},4,[653,717,633],{"class":718},"s2Zo4",[653,720,721],{"class":667},"(",[653,723,724],{"class":663},"{\n",[653,726,728,732,735,739],{"class":655,"line":727},5,[653,729,731],{"class":730},"swJcz","  enabled",[653,733,734],{"class":663},":",[653,736,738],{"class":737},"sfNiH"," true",[653,740,741],{"class":663},",\n",[653,743,745,748,750,752,755,757,759,762,765,768,771,773,775,778,780],{"class":655,"line":744},6,[653,746,747],{"class":730},"  env",[653,749,734],{"class":663},[653,751,664],{"class":663},[653,753,754],{"class":730}," service",[653,756,734],{"class":663},[653,758,677],{"class":663},[653,760,761],{"class":680},"my-api",[653,763,764],{"class":663},"'",[653,766,767],{"class":663},",",[653,769,770],{"class":730}," environment",[653,772,734],{"class":663},[653,774,677],{"class":663},[653,776,777],{"class":680},"production",[653,779,764],{"class":663},[653,781,782],{"class":663}," },\n",[653,784,786,789,791,794],{"class":655,"line":785},7,[653,787,788],{"class":730},"  pretty",[653,790,734],{"class":663},[653,792,793],{"class":737}," false",[653,795,741],{"class":663},[653,797,799,802,804,806],{"class":655,"line":798},8,[653,800,801],{"class":730},"  silent",[653,803,734],{"class":663},[653,805,793],{"class":737},[653,807,741],{"class":663},[653,809,811,814,816,818],{"class":655,"line":810},9,[653,812,813],{"class":730},"  stringify",[653,815,734],{"class":663},[653,817,738],{"class":737},[653,819,741],{"class":663},[653,821,823,826,828,830,833,835],{"class":655,"line":822},10,[653,824,825],{"class":730},"  minLevel",[653,827,734],{"class":663},[653,829,677],{"class":663},[653,831,832],{"class":680},"info",[653,834,764],{"class":663},[653,836,741],{"class":663},[653,838,840,843,845,847,850,852,854,857,859,863,866,869,871,874,877,880,882,885,887,890],{"class":655,"line":839},11,[653,841,842],{"class":730},"  sampling",[653,844,734],{"class":663},[653,846,664],{"class":663},[653,848,849],{"class":730}," rates",[653,851,734],{"class":663},[653,853,664],{"class":663},[653,855,856],{"class":730}," info",[653,858,734],{"class":663},[653,860,862],{"class":861},"sbssI"," 10",[653,864,865],{"class":663}," },",[653,867,868],{"class":730}," keep",[653,870,734],{"class":663},[653,872,873],{"class":667}," [",[653,875,876],{"class":663},"{",[653,878,879],{"class":730}," status",[653,881,734],{"class":663},[653,883,884],{"class":861}," 400",[653,886,671],{"class":663},[653,888,889],{"class":667},"] ",[653,891,892],{"class":663},"},\n",[653,894,896,899,901,903,906],{"class":655,"line":895},12,[653,897,898],{"class":730},"  drain",[653,900,734],{"class":663},[653,902,694],{"class":718},[653,904,905],{"class":667},"()",[653,907,741],{"class":663},[653,909,911,914],{"class":655,"line":910},13,[653,912,913],{"class":663},"}",[653,915,916],{"class":667},")\n",[918,919,920,939],"table",{},[921,922,923],"thead",{},[924,925,926,930,933,936],"tr",{},[927,928,929],"th",{},"Option",[927,931,932],{},"Type",[927,934,935],{},"Default",[927,937,938],{},"Description",[940,941,942,967,985,1007,1037,1055,1079,1107,1129,1154],"tbody",{},[924,943,944,950,955,960],{},[945,946,947],"td",{},[631,948,949],{},"enabled",[945,951,952],{},[631,953,954],{},"boolean",[945,956,957],{},[631,958,959],{},"true",[945,961,962,963,966],{},"Enable\u002Fdisable all logging globally. When ",[631,964,965],{},"false",", all operations become no-ops",[924,968,969,974,979,982],{},[945,970,971],{},[631,972,973],{},"env",[945,975,976],{},[631,977,978],{},"Partial\u003CEnvironmentContext>",[945,980,981],{},"Auto-detected",[945,983,984],{},"Environment context overrides (see below)",[924,986,987,992,996,1001],{},[945,988,989],{},[631,990,991],{},"pretty",[945,993,994],{},[631,995,954],{},[945,997,998,1000],{},[631,999,959],{}," in dev",[945,1002,1003,1004],{},"Pretty print with tree formatting. Auto-detected based on ",[631,1005,1006],{},"NODE_ENV",[924,1008,1009,1014,1019,1025],{},[945,1010,1011],{},[631,1012,1013],{},"dev",[945,1015,1016],{},[631,1017,1018],{},"'evlog' | 'nitro' | 'both' | object",[945,1020,1021,1024],{},[631,1022,1023],{},"'evlog'"," in pretty dev",[945,1026,1027,1028,1031,1032],{},"Dev terminal presets or ",[631,1029,1030],{},"{ frameworkOverlay, prettyError }",", see ",[1033,1034,1036],"a",{"href":1035},"#tune-the-dev-terminal-output","Tune the dev terminal output",[924,1038,1039,1044,1048,1052],{},[945,1040,1041],{},[631,1042,1043],{},"silent",[945,1045,1046],{},[631,1047,954],{},[945,1049,1050],{},[631,1051,965],{},[945,1053,1054],{},"Suppress console output. Events are still built, sampled, and passed to drains",[924,1056,1057,1062,1066,1070],{},[945,1058,1059],{},[631,1060,1061],{},"stringify",[945,1063,1064],{},[631,1065,954],{},[945,1067,1068],{},[631,1069,959],{},[945,1071,1072,1073,1075,1076,1078],{},"Emit JSON strings when ",[631,1074,991],{}," is disabled. Set to ",[631,1077,965],{}," for Cloudflare Workers",[924,1080,1081,1086,1091,1096],{},[945,1082,1083],{},[631,1084,1085],{},"minLevel",[945,1087,1088],{},[631,1089,1090],{},"'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'",[945,1092,1093],{},[631,1094,1095],{},"'debug'",[945,1097,1098,1099,1102,1103,1106],{},"Minimum severity for the global ",[631,1100,1101],{},"log"," API only (not ",[631,1104,1105],{},"createLogger"," \u002F request wide events). Order: trace \u003C debug \u003C info \u003C warn \u003C error \u003C fatal",[924,1108,1109,1114,1119,1124],{},[945,1110,1111],{},[631,1112,1113],{},"sampling",[945,1115,1116],{},[631,1117,1118],{},"SamplingConfig",[945,1120,1121],{},[631,1122,1123],{},"undefined",[945,1125,1126,1127],{},"Head and tail sampling configuration. See ",[1033,1128,66],{"href":67},[924,1130,1131,1136,1141,1146],{},[945,1132,1133],{},[631,1134,1135],{},"redact",[945,1137,1138],{},[631,1139,1140],{},"boolean | RedactConfig",[945,1142,1143,1145],{},[631,1144,959],{}," in production",[945,1147,1148,1149,1151,1152],{},"Enabled by default in production. ",[631,1150,965],{}," to disable. Object for fine-grained control. See ",[1033,1153,71],{"href":72},[924,1155,1156,1161,1166,1170],{},[945,1157,1158],{},[631,1159,1160],{},"drain",[945,1162,1163],{},[631,1164,1165],{},"(ctx: DrainContext) => void",[945,1167,1168],{},[631,1169,1123],{},[945,1171,1172],{},"Drain callback for sending events to external services",[613,1174,1175,1178,1179,1181,1182,1185,1186,1189,1190,1193,1194,1197,1198,1201,1202,1205],{},[631,1176,1177],{},"RedactConfig"," fields (when ",[631,1180,1135],{}," is an object): ",[631,1183,1184],{},"paths"," (dot-notation with globs), ",[631,1187,1188],{},"patterns"," (regex on string values), ",[631,1191,1192],{},"builtins",", ",[631,1195,1196],{},"replacement"," (string, or a function computing it from the matched value), ",[631,1199,1200],{},"transform"," (hook for conditional policies). Full table in ",[1033,1203,71],{"href":1204},"\u002Flearn\u002Fredaction#configuration-reference",".",[1207,1208,1210,1212],"h3",{"id":1209},"minlevel-vs-sampling",[631,1211,1085],{}," vs sampling",[1214,1215,1216,1254,1270],"ul",{},[1217,1218,1219,1223,1224,1227,1228,1231,1232,1235,1236,1239,1240,1243,1244,1249,1250,1253],"li",{},[617,1220,1221],{},[631,1222,1085],{}," is a ",[617,1225,1226],{},"hard threshold"," on the simple ",[631,1229,1230],{},"log.*"," API: levels below the threshold are never emitted. It does ",[617,1233,1234],{},"not"," apply to wide events from ",[631,1237,1238],{},"useLogger"," \u002F ",[631,1241,1242],{},"createLogger().emit()",", use ",[617,1245,1246],{},[631,1247,1248],{},"sampling.rates"," (and tail ",[631,1251,1252],{},"keep",") for request volume.",[1217,1255,1256,1259,1260,1262,1263,1266,1267,1269],{},[617,1257,1258],{},"Head sampling"," (",[631,1261,1248],{},") is ",[617,1264,1265],{},"probabilistic"," on what is already allowed by ",[631,1268,1085],{}," for simple logs.",[1217,1271,1272,1277,1278,1280,1281,1286,1287,1290],{},[617,1273,1274],{},[631,1275,1276],{},"fatal"," events are always kept, regardless of ",[631,1279,1248],{},". ",[617,1282,1283],{},[631,1284,1285],{},"trace"," events are dropped by default; set ",[631,1288,1289],{},"sampling.rates.trace"," (0-100) to opt in.",[613,1292,1293,1294,1239,1297,1300,1301,1303,1304,1306],{},"Evaluation order for ",[631,1295,1296],{},"log.info",[631,1298,1299],{},"log.debug"," \u002F etc.: ",[631,1302,949],{}," → ",[631,1305,1085],{}," → head sampling → output.",[1207,1308,1036],{"id":1309},"tune-the-dev-terminal-output",[613,1311,1312,1313,1316],{},"Pretty error blocks run only when ",[631,1314,1315],{},"pretty: true"," (default in development). Production always emits JSON wide events, with no stack snippets and no disk reads.",[613,1318,1319,1320,1322,1323,1326],{},"Use ",[631,1321,1013],{}," to control ",[617,1324,1325],{},"two independent axes",": whether Nitro's Youch overlay runs, and how much stack detail evlog prints inside the wide event.",[613,1328,1329,1332],{},[617,1330,1331],{},"Presets"," (recommended):",[918,1334,1335,1348],{},[921,1336,1337],{},[924,1338,1339,1342,1345],{},[927,1340,1341],{},"Preset",[927,1343,1344],{},"Nitro overlay",[927,1346,1347],{},"evlog error block",[940,1349,1350,1363,1376],{},[924,1351,1352,1357,1360],{},[945,1353,1354,1356],{},[631,1355,1023],{}," (default in pretty dev)",[945,1358,1359],{},"Off",[945,1361,1362],{},"Full — location, snippet, stack tail, Why\u002FFix",[924,1364,1365,1370,1373],{},[945,1366,1367],{},[631,1368,1369],{},"'nitro'",[945,1371,1372],{},"On",[945,1374,1375],{},"Guidance only — message + Why\u002FFix\u002Flink (stack from Nitro)",[924,1377,1378,1383,1385],{},[945,1379,1380],{},[631,1381,1382],{},"'both'",[945,1384,1372],{},[945,1386,1387],{},"Full — evlog block + Nitro overlay (debug)",[643,1389,1392],{"className":645,"code":1390,"filename":1391,"language":648,"meta":649,"style":649},"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",[631,1393,1394,1409,1430,1440,1451,1470,1475],{"__ignoreMap":649},[653,1395,1396,1399,1402,1405,1407],{"class":655,"line":656},[653,1397,1398],{"class":659},"export",[653,1400,1401],{"class":659}," default",[653,1403,1404],{"class":718}," defineNuxtConfig",[653,1406,721],{"class":667},[653,1408,724],{"class":663},[653,1410,1411,1414,1416,1418,1420,1423,1425,1428],{"class":655,"line":687},[653,1412,1413],{"class":730},"  modules",[653,1415,734],{"class":663},[653,1417,873],{"class":667},[653,1419,764],{"class":663},[653,1421,1422],{"class":680},"evlog\u002Fnuxt",[653,1424,764],{"class":663},[653,1426,1427],{"class":667},"]",[653,1429,741],{"class":663},[653,1431,1432,1435,1437],{"class":655,"line":708},[653,1433,1434],{"class":730},"  evlog",[653,1436,734],{"class":663},[653,1438,1439],{"class":663}," {\n",[653,1441,1442,1445,1447,1449],{"class":655,"line":715},[653,1443,1444],{"class":730},"    pretty",[653,1446,734],{"class":663},[653,1448,738],{"class":737},[653,1450,741],{"class":663},[653,1452,1453,1456,1458,1460,1462,1464,1466],{"class":655,"line":727},[653,1454,1455],{"class":730},"    dev",[653,1457,734],{"class":663},[653,1459,677],{"class":663},[653,1461,681],{"class":680},[653,1463,764],{"class":663},[653,1465,767],{"class":663},[653,1467,1469],{"class":1468},"sHwdD"," \u002F\u002F or 'nitro' | 'both'\n",[653,1471,1472],{"class":655,"line":744},[653,1473,1474],{"class":663},"  },\n",[653,1476,1477,1479],{"class":655,"line":785},[653,1478,913],{"class":663},[653,1480,916],{"class":667},[613,1482,1483,1486],{},[617,1484,1485],{},"Explicit object"," (fine-grained):",[643,1488,1490],{"className":645,"code":1489,"filename":1391,"language":648,"meta":649,"style":649},"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",[631,1491,1492,1501,1510,1521,1530,1541,1553,1564,1583,1588,1592],{"__ignoreMap":649},[653,1493,1494,1497,1499],{"class":655,"line":656},[653,1495,681],{"class":1496},"sBMFI",[653,1498,734],{"class":663},[653,1500,1439],{"class":663},[653,1502,1503,1506,1508],{"class":655,"line":687},[653,1504,1505],{"class":1496},"  dev",[653,1507,734],{"class":663},[653,1509,1439],{"class":663},[653,1511,1512,1515,1517,1519],{"class":655,"line":708},[653,1513,1514],{"class":1496},"    frameworkOverlay",[653,1516,734],{"class":663},[653,1518,738],{"class":737},[653,1520,741],{"class":663},[653,1522,1523,1526,1528],{"class":655,"line":715},[653,1524,1525],{"class":1496},"    prettyError",[653,1527,734],{"class":663},[653,1529,1439],{"class":663},[653,1531,1532,1535,1537,1539],{"class":655,"line":727},[653,1533,1534],{"class":1496},"      snippet",[653,1536,734],{"class":663},[653,1538,793],{"class":737},[653,1540,741],{"class":663},[653,1542,1543,1546,1548,1551],{"class":655,"line":744},[653,1544,1545],{"class":1496},"      stackDepth",[653,1547,734],{"class":663},[653,1549,1550],{"class":861}," 0",[653,1552,741],{"class":663},[653,1554,1555,1558,1560,1562],{"class":655,"line":785},[653,1556,1557],{"class":1496},"      compact",[653,1559,734],{"class":663},[653,1561,738],{"class":737},[653,1563,741],{"class":663},[653,1565,1566,1569,1571,1573,1576,1578,1580],{"class":655,"line":798},[653,1567,1568],{"class":1496},"      detail",[653,1570,734],{"class":663},[653,1572,677],{"class":663},[653,1574,1575],{"class":680},"guidance",[653,1577,764],{"class":663},[653,1579,767],{"class":663},[653,1581,1582],{"class":1468}," \u002F\u002F 'full' | 'guidance'\n",[653,1584,1585],{"class":655,"line":810},[653,1586,1587],{"class":663},"    },\n",[653,1589,1590],{"class":655,"line":822},[653,1591,1474],{"class":663},[653,1593,1594],{"class":655,"line":839},[653,1595,1596],{"class":663},"}\n",[613,1598,1599,1600,1604],{},"See ",[1033,1601,1603],{"href":1602},"\u002Flearn\u002Fstructured-errors#development-terminal-output","Development terminal output"," in Structured Errors for an example of the pretty error tree.",[1207,1606,1608],{"id":1607},"stamp-the-environment-on-every-event","Stamp the environment on every event",[613,1610,1611,1612,1614],{},"The ",[631,1613,973],{}," 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.",[918,1616,1617,1631],{},[921,1618,1619],{},[924,1620,1621,1624,1626,1628],{},[927,1622,1623],{},"Field",[927,1625,932],{},[927,1627,935],{},[927,1629,1630],{},"Auto-detected from",[940,1632,1633,1655,1675,1695,1724],{},[924,1634,1635,1640,1645,1650],{},[945,1636,1637],{},[631,1638,1639],{},"service",[945,1641,1642],{},[631,1643,1644],{},"string",[945,1646,1647],{},[631,1648,1649],{},"'app'",[945,1651,1652],{},[631,1653,1654],{},"SERVICE_NAME",[924,1656,1657,1662,1666,1671],{},[945,1658,1659],{},[631,1660,1661],{},"environment",[945,1663,1664],{},[631,1665,1644],{},[945,1667,1668],{},[631,1669,1670],{},"'development'",[945,1672,1673],{},[631,1674,1006],{},[924,1676,1677,1682,1686,1690],{},[945,1678,1679],{},[631,1680,1681],{},"version",[945,1683,1684],{},[631,1685,1644],{},[945,1687,1688],{},[631,1689,1123],{},[945,1691,1692],{},[631,1693,1694],{},"APP_VERSION",[924,1696,1697,1702,1706,1710],{},[945,1698,1699],{},[631,1700,1701],{},"commitHash",[945,1703,1704],{},[631,1705,1644],{},[945,1707,1708],{},[631,1709,1123],{},[945,1711,1712,1193,1715,1193,1718,1193,1721],{},[631,1713,1714],{},"COMMIT_SHA",[631,1716,1717],{},"GITHUB_SHA",[631,1719,1720],{},"VERCEL_GIT_COMMIT_SHA",[631,1722,1723],{},"CF_PAGES_COMMIT_SHA",[924,1725,1726,1731,1735,1739],{},[945,1727,1728],{},[631,1729,1730],{},"region",[945,1732,1733],{},[631,1734,1644],{},[945,1736,1737],{},[631,1738,1123],{},[945,1740,1741,1193,1744,1193,1747,1193,1750],{},[631,1742,1743],{},"VERCEL_REGION",[631,1745,1746],{},"AWS_REGION",[631,1748,1749],{},"FLY_REGION",[631,1751,1752],{},"CF_REGION",[1207,1754,1756],{"id":1755},"silence-the-terminal","Silence the terminal",[613,1758,1319,1759,1761],{},[631,1760,1043],{}," 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.",[643,1763,1765],{"className":645,"code":1764,"filename":647,"language":648,"meta":649,"style":649},"import { initLogger } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitLogger({\n  silent: process.env.NODE_ENV === 'production',\n  drain: createAxiomDrain(),\n})\n",[631,1766,1767,1785,1803,1807,1815,1844,1856],{"__ignoreMap":649},[653,1768,1769,1771,1773,1775,1777,1779,1781,1783],{"class":655,"line":656},[653,1770,660],{"class":659},[653,1772,664],{"class":663},[653,1774,668],{"class":667},[653,1776,671],{"class":663},[653,1778,674],{"class":659},[653,1780,677],{"class":663},[653,1782,681],{"class":680},[653,1784,684],{"class":663},[653,1786,1787,1789,1791,1793,1795,1797,1799,1801],{"class":655,"line":687},[653,1788,660],{"class":659},[653,1790,664],{"class":663},[653,1792,694],{"class":667},[653,1794,671],{"class":663},[653,1796,674],{"class":659},[653,1798,677],{"class":663},[653,1800,703],{"class":680},[653,1802,684],{"class":663},[653,1804,1805],{"class":655,"line":708},[653,1806,712],{"emptyLinePlaceholder":711},[653,1808,1809,1811,1813],{"class":655,"line":715},[653,1810,633],{"class":718},[653,1812,721],{"class":667},[653,1814,724],{"class":663},[653,1816,1817,1819,1821,1824,1826,1828,1830,1833,1836,1838,1840,1842],{"class":655,"line":727},[653,1818,801],{"class":730},[653,1820,734],{"class":663},[653,1822,1823],{"class":667}," process",[653,1825,1205],{"class":663},[653,1827,973],{"class":667},[653,1829,1205],{"class":663},[653,1831,1832],{"class":667},"NODE_ENV ",[653,1834,1835],{"class":663},"===",[653,1837,677],{"class":663},[653,1839,777],{"class":680},[653,1841,764],{"class":663},[653,1843,741],{"class":663},[653,1845,1846,1848,1850,1852,1854],{"class":655,"line":744},[653,1847,898],{"class":730},[653,1849,734],{"class":663},[653,1851,694],{"class":718},[653,1853,905],{"class":667},[653,1855,741],{"class":663},[653,1857,1858,1860],{"class":655,"line":785},[653,1859,913],{"class":663},[653,1861,916],{"class":667},[1863,1864,1867,1868,1870],"callout",{"color":1865,"icon":1866},"warning","i-lucide-alert-triangle","If ",[631,1869,1043],{}," is enabled without a drain, events are built and sampled but never output anywhere, which evlog warns about at startup.",[626,1872,1874],{"id":1873},"middleware-options","Middleware options",[613,1876,1877],{},"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.",[1879,1880,1881,2174,2400,2650,2844,2941,3002,3216,3430,3656],"framework-tabs",{},[643,1882,1885],{"className":645,"code":1883,"filename":250,"language":648,"meta":1884,"style":649},"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",[631,1886,1887,1907,1925,1929,1968,1984,2004,2024,2059,2071,2117,2168],{"__ignoreMap":649},[653,1888,1889,1891,1893,1896,1898,1900,1902,1905],{"class":655,"line":656},[653,1890,660],{"class":659},[653,1892,664],{"class":663},[653,1894,1895],{"class":667}," createEvlog",[653,1897,671],{"class":663},[653,1899,674],{"class":659},[653,1901,677],{"class":663},[653,1903,1904],{"class":680},"evlog\u002Fnext",[653,1906,684],{"class":663},[653,1908,1909,1911,1913,1915,1917,1919,1921,1923],{"class":655,"line":687},[653,1910,660],{"class":659},[653,1912,664],{"class":663},[653,1914,694],{"class":667},[653,1916,671],{"class":663},[653,1918,674],{"class":659},[653,1920,677],{"class":663},[653,1922,703],{"class":680},[653,1924,684],{"class":663},[653,1926,1927],{"class":655,"line":708},[653,1928,712],{"emptyLinePlaceholder":711},[653,1930,1931,1933,1937,1939,1942,1944,1947,1949,1952,1954,1957,1959,1962,1964,1966],{"class":655,"line":715},[653,1932,1398],{"class":659},[653,1934,1936],{"class":1935},"spNyl"," const",[653,1938,664],{"class":663},[653,1940,1941],{"class":667}," withEvlog",[653,1943,767],{"class":663},[653,1945,1946],{"class":667}," useLogger",[653,1948,767],{"class":663},[653,1950,1951],{"class":667}," log",[653,1953,767],{"class":663},[653,1955,1956],{"class":667}," createError ",[653,1958,913],{"class":663},[653,1960,1961],{"class":663}," =",[653,1963,1895],{"class":718},[653,1965,721],{"class":667},[653,1967,724],{"class":663},[653,1969,1970,1973,1975,1977,1980,1982],{"class":655,"line":727},[653,1971,1972],{"class":730},"  service",[653,1974,734],{"class":663},[653,1976,677],{"class":663},[653,1978,1979],{"class":680},"my-app",[653,1981,764],{"class":663},[653,1983,741],{"class":663},[653,1985,1986,1989,1991,1993,1995,1998,2000,2002],{"class":655,"line":744},[653,1987,1988],{"class":730},"  include",[653,1990,734],{"class":663},[653,1992,873],{"class":667},[653,1994,764],{"class":663},[653,1996,1997],{"class":680},"\u002Fapi\u002F**",[653,1999,764],{"class":663},[653,2001,1427],{"class":667},[653,2003,741],{"class":663},[653,2005,2006,2009,2011,2013,2015,2018,2020,2022],{"class":655,"line":785},[653,2007,2008],{"class":730},"  exclude",[653,2010,734],{"class":663},[653,2012,873],{"class":667},[653,2014,764],{"class":663},[653,2016,2017],{"class":680},"\u002Fapi\u002Fhealth",[653,2019,764],{"class":663},[653,2021,1427],{"class":667},[653,2023,741],{"class":663},[653,2025,2026,2029,2031,2033,2035,2038,2040,2042,2044,2046,2048,2050,2053,2055,2057],{"class":655,"line":798},[653,2027,2028],{"class":730},"  routes",[653,2030,734],{"class":663},[653,2032,664],{"class":663},[653,2034,677],{"class":663},[653,2036,2037],{"class":730},"\u002Fapi\u002Fauth\u002F**",[653,2039,764],{"class":663},[653,2041,734],{"class":663},[653,2043,664],{"class":663},[653,2045,754],{"class":730},[653,2047,734],{"class":663},[653,2049,677],{"class":663},[653,2051,2052],{"class":680},"auth",[653,2054,764],{"class":663},[653,2056,671],{"class":663},[653,2058,782],{"class":663},[653,2060,2061,2063,2065,2067,2069],{"class":655,"line":810},[653,2062,898],{"class":730},[653,2064,734],{"class":663},[653,2066,694],{"class":718},[653,2068,905],{"class":667},[653,2070,741],{"class":663},[653,2072,2073,2076,2078,2080,2084,2086,2089,2091,2094,2096,2099,2101,2103,2105,2107,2109,2111,2113,2115],{"class":655,"line":822},[653,2074,2075],{"class":718},"  enrich",[653,2077,734],{"class":663},[653,2079,1259],{"class":663},[653,2081,2083],{"class":2082},"sHdIc","ctx",[653,2085,634],{"class":663},[653,2087,2088],{"class":1935}," =>",[653,2090,664],{"class":663},[653,2092,2093],{"class":667}," ctx",[653,2095,1205],{"class":663},[653,2097,2098],{"class":667},"event",[653,2100,1205],{"class":663},[653,2102,1730],{"class":667},[653,2104,1961],{"class":663},[653,2106,1823],{"class":667},[653,2108,1205],{"class":663},[653,2110,973],{"class":667},[653,2112,1205],{"class":663},[653,2114,1749],{"class":667},[653,2116,782],{"class":663},[653,2118,2119,2122,2124,2126,2128,2130,2132,2134,2137,2139,2141,2143,2146,2149,2152,2155,2157,2159,2162,2164,2166],{"class":655,"line":839},[653,2120,2121],{"class":718},"  keep",[653,2123,734],{"class":663},[653,2125,1259],{"class":663},[653,2127,2083],{"class":2082},[653,2129,634],{"class":663},[653,2131,2088],{"class":1935},[653,2133,664],{"class":663},[653,2135,2136],{"class":659}," if",[653,2138,1259],{"class":730},[653,2140,2083],{"class":667},[653,2142,1205],{"class":663},[653,2144,2145],{"class":667},"duration",[653,2147,2148],{"class":663}," >",[653,2150,2151],{"class":861}," 2000",[653,2153,2154],{"class":730},") ",[653,2156,2083],{"class":667},[653,2158,1205],{"class":663},[653,2160,2161],{"class":667},"shouldKeep",[653,2163,1961],{"class":663},[653,2165,738],{"class":737},[653,2167,782],{"class":663},[653,2169,2170,2172],{"class":655,"line":895},[653,2171,913],{"class":663},[653,2173,916],{"class":667},[643,2175,2178],{"className":645,"code":2176,"filename":255,"language":648,"meta":2177,"style":649},"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",[631,2179,2180,2200,2204,2230,2248,2266,2298,2310,2350,2394],{"__ignoreMap":649},[653,2181,2182,2184,2186,2189,2191,2193,2195,2198],{"class":655,"line":656},[653,2183,660],{"class":659},[653,2185,664],{"class":663},[653,2187,2188],{"class":667}," createEvlogHooks",[653,2190,671],{"class":663},[653,2192,674],{"class":659},[653,2194,677],{"class":663},[653,2196,2197],{"class":680},"evlog\u002Fsveltekit",[653,2199,684],{"class":663},[653,2201,2202],{"class":655,"line":687},[653,2203,712],{"emptyLinePlaceholder":711},[653,2205,2206,2208,2210,2212,2215,2217,2220,2222,2224,2226,2228],{"class":655,"line":708},[653,2207,1398],{"class":659},[653,2209,1936],{"class":1935},[653,2211,664],{"class":663},[653,2213,2214],{"class":667}," handle",[653,2216,767],{"class":663},[653,2218,2219],{"class":667}," handleError ",[653,2221,913],{"class":663},[653,2223,1961],{"class":663},[653,2225,2188],{"class":718},[653,2227,721],{"class":667},[653,2229,724],{"class":663},[653,2231,2232,2234,2236,2238,2240,2242,2244,2246],{"class":655,"line":715},[653,2233,1988],{"class":730},[653,2235,734],{"class":663},[653,2237,873],{"class":667},[653,2239,764],{"class":663},[653,2241,1997],{"class":680},[653,2243,764],{"class":663},[653,2245,1427],{"class":667},[653,2247,741],{"class":663},[653,2249,2250,2252,2254,2256,2258,2260,2262,2264],{"class":655,"line":727},[653,2251,2008],{"class":730},[653,2253,734],{"class":663},[653,2255,873],{"class":667},[653,2257,764],{"class":663},[653,2259,2017],{"class":680},[653,2261,764],{"class":663},[653,2263,1427],{"class":667},[653,2265,741],{"class":663},[653,2267,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296],{"class":655,"line":744},[653,2269,2028],{"class":730},[653,2271,734],{"class":663},[653,2273,664],{"class":663},[653,2275,677],{"class":663},[653,2277,2037],{"class":730},[653,2279,764],{"class":663},[653,2281,734],{"class":663},[653,2283,664],{"class":663},[653,2285,754],{"class":730},[653,2287,734],{"class":663},[653,2289,677],{"class":663},[653,2291,2052],{"class":680},[653,2293,764],{"class":663},[653,2295,671],{"class":663},[653,2297,782],{"class":663},[653,2299,2300,2302,2304,2306,2308],{"class":655,"line":785},[653,2301,898],{"class":730},[653,2303,734],{"class":663},[653,2305,694],{"class":718},[653,2307,905],{"class":667},[653,2309,741],{"class":663},[653,2311,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348],{"class":655,"line":798},[653,2313,2075],{"class":718},[653,2315,734],{"class":663},[653,2317,1259],{"class":663},[653,2319,2083],{"class":2082},[653,2321,634],{"class":663},[653,2323,2088],{"class":1935},[653,2325,664],{"class":663},[653,2327,2093],{"class":667},[653,2329,1205],{"class":663},[653,2331,2098],{"class":667},[653,2333,1205],{"class":663},[653,2335,1730],{"class":667},[653,2337,1961],{"class":663},[653,2339,1823],{"class":667},[653,2341,1205],{"class":663},[653,2343,973],{"class":667},[653,2345,1205],{"class":663},[653,2347,1749],{"class":667},[653,2349,782],{"class":663},[653,2351,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392],{"class":655,"line":810},[653,2353,2121],{"class":718},[653,2355,734],{"class":663},[653,2357,1259],{"class":663},[653,2359,2083],{"class":2082},[653,2361,634],{"class":663},[653,2363,2088],{"class":1935},[653,2365,664],{"class":663},[653,2367,2136],{"class":659},[653,2369,1259],{"class":730},[653,2371,2083],{"class":667},[653,2373,1205],{"class":663},[653,2375,2145],{"class":667},[653,2377,2148],{"class":663},[653,2379,2151],{"class":861},[653,2381,2154],{"class":730},[653,2383,2083],{"class":667},[653,2385,1205],{"class":663},[653,2387,2161],{"class":667},[653,2389,1961],{"class":663},[653,2391,738],{"class":737},[653,2393,782],{"class":663},[653,2395,2396,2398],{"class":655,"line":822},[653,2397,913],{"class":663},[653,2399,916],{"class":667},[643,2401,2404],{"className":645,"code":2402,"filename":295,"language":648,"meta":2403,"style":649},"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",[631,2405,2406,2426,2430,2458,2466,2485,2504,2537,2550,2591,2636,2645],{"__ignoreMap":649},[653,2407,2408,2410,2412,2415,2417,2419,2421,2424],{"class":655,"line":656},[653,2409,660],{"class":659},[653,2411,664],{"class":663},[653,2413,2414],{"class":667}," evlog",[653,2416,671],{"class":663},[653,2418,674],{"class":659},[653,2420,677],{"class":663},[653,2422,2423],{"class":680},"evlog\u002Freact-router",[653,2425,684],{"class":663},[653,2427,2428],{"class":655,"line":687},[653,2429,712],{"emptyLinePlaceholder":711},[653,2431,2432,2434,2436,2439,2441,2444,2446,2449,2452,2455],{"class":655,"line":708},[653,2433,1398],{"class":659},[653,2435,1936],{"class":1935},[653,2437,2438],{"class":667}," middleware",[653,2440,734],{"class":663},[653,2442,2443],{"class":1496}," Route",[653,2445,1205],{"class":663},[653,2447,2448],{"class":1496},"MiddlewareFunction",[653,2450,2451],{"class":667},"[] ",[653,2453,2454],{"class":663},"=",[653,2456,2457],{"class":667}," [\n",[653,2459,2460,2462,2464],{"class":655,"line":715},[653,2461,1434],{"class":718},[653,2463,721],{"class":667},[653,2465,724],{"class":663},[653,2467,2468,2471,2473,2475,2477,2479,2481,2483],{"class":655,"line":727},[653,2469,2470],{"class":730},"    include",[653,2472,734],{"class":663},[653,2474,873],{"class":667},[653,2476,764],{"class":663},[653,2478,1997],{"class":680},[653,2480,764],{"class":663},[653,2482,1427],{"class":667},[653,2484,741],{"class":663},[653,2486,2487,2490,2492,2494,2496,2498,2500,2502],{"class":655,"line":744},[653,2488,2489],{"class":730},"    exclude",[653,2491,734],{"class":663},[653,2493,873],{"class":667},[653,2495,764],{"class":663},[653,2497,2017],{"class":680},[653,2499,764],{"class":663},[653,2501,1427],{"class":667},[653,2503,741],{"class":663},[653,2505,2506,2509,2511,2513,2515,2517,2519,2521,2523,2525,2527,2529,2531,2533,2535],{"class":655,"line":785},[653,2507,2508],{"class":730},"    routes",[653,2510,734],{"class":663},[653,2512,664],{"class":663},[653,2514,677],{"class":663},[653,2516,2037],{"class":730},[653,2518,764],{"class":663},[653,2520,734],{"class":663},[653,2522,664],{"class":663},[653,2524,754],{"class":730},[653,2526,734],{"class":663},[653,2528,677],{"class":663},[653,2530,2052],{"class":680},[653,2532,764],{"class":663},[653,2534,671],{"class":663},[653,2536,782],{"class":663},[653,2538,2539,2542,2544,2546,2548],{"class":655,"line":798},[653,2540,2541],{"class":730},"    drain",[653,2543,734],{"class":663},[653,2545,694],{"class":718},[653,2547,905],{"class":667},[653,2549,741],{"class":663},[653,2551,2552,2555,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589],{"class":655,"line":810},[653,2553,2554],{"class":718},"    enrich",[653,2556,734],{"class":663},[653,2558,1259],{"class":663},[653,2560,2083],{"class":2082},[653,2562,634],{"class":663},[653,2564,2088],{"class":1935},[653,2566,664],{"class":663},[653,2568,2093],{"class":667},[653,2570,1205],{"class":663},[653,2572,2098],{"class":667},[653,2574,1205],{"class":663},[653,2576,1730],{"class":667},[653,2578,1961],{"class":663},[653,2580,1823],{"class":667},[653,2582,1205],{"class":663},[653,2584,973],{"class":667},[653,2586,1205],{"class":663},[653,2588,1749],{"class":667},[653,2590,782],{"class":663},[653,2592,2593,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634],{"class":655,"line":822},[653,2594,2595],{"class":718},"    keep",[653,2597,734],{"class":663},[653,2599,1259],{"class":663},[653,2601,2083],{"class":2082},[653,2603,634],{"class":663},[653,2605,2088],{"class":1935},[653,2607,664],{"class":663},[653,2609,2136],{"class":659},[653,2611,1259],{"class":730},[653,2613,2083],{"class":667},[653,2615,1205],{"class":663},[653,2617,2145],{"class":667},[653,2619,2148],{"class":663},[653,2621,2151],{"class":861},[653,2623,2154],{"class":730},[653,2625,2083],{"class":667},[653,2627,1205],{"class":663},[653,2629,2161],{"class":667},[653,2631,1961],{"class":663},[653,2633,738],{"class":737},[653,2635,782],{"class":663},[653,2637,2638,2641,2643],{"class":655,"line":839},[653,2639,2640],{"class":663},"  }",[653,2642,634],{"class":667},[653,2644,741],{"class":663},[653,2646,2647],{"class":655,"line":895},[653,2648,2649],{"class":667},"]\n",[643,2651,2653],{"className":645,"code":2652,"filename":280,"language":648,"meta":647,"style":649},"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",[631,2654,2655,2673,2691,2709,2741,2753,2793,2837],{"__ignoreMap":649},[653,2656,2657,2660,2662,2665,2667,2669,2671],{"class":655,"line":656},[653,2658,2659],{"class":667},"app",[653,2661,1205],{"class":663},[653,2663,2664],{"class":718},"use",[653,2666,721],{"class":667},[653,2668,681],{"class":718},[653,2670,721],{"class":667},[653,2672,724],{"class":663},[653,2674,2675,2677,2679,2681,2683,2685,2687,2689],{"class":655,"line":687},[653,2676,1988],{"class":730},[653,2678,734],{"class":663},[653,2680,873],{"class":667},[653,2682,764],{"class":663},[653,2684,1997],{"class":680},[653,2686,764],{"class":663},[653,2688,1427],{"class":667},[653,2690,741],{"class":663},[653,2692,2693,2695,2697,2699,2701,2703,2705,2707],{"class":655,"line":708},[653,2694,2008],{"class":730},[653,2696,734],{"class":663},[653,2698,873],{"class":667},[653,2700,764],{"class":663},[653,2702,2017],{"class":680},[653,2704,764],{"class":663},[653,2706,1427],{"class":667},[653,2708,741],{"class":663},[653,2710,2711,2713,2715,2717,2719,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739],{"class":655,"line":715},[653,2712,2028],{"class":730},[653,2714,734],{"class":663},[653,2716,664],{"class":663},[653,2718,677],{"class":663},[653,2720,2037],{"class":730},[653,2722,764],{"class":663},[653,2724,734],{"class":663},[653,2726,664],{"class":663},[653,2728,754],{"class":730},[653,2730,734],{"class":663},[653,2732,677],{"class":663},[653,2734,2052],{"class":680},[653,2736,764],{"class":663},[653,2738,671],{"class":663},[653,2740,782],{"class":663},[653,2742,2743,2745,2747,2749,2751],{"class":655,"line":727},[653,2744,898],{"class":730},[653,2746,734],{"class":663},[653,2748,694],{"class":718},[653,2750,905],{"class":667},[653,2752,741],{"class":663},[653,2754,2755,2757,2759,2761,2763,2765,2767,2769,2771,2773,2775,2777,2779,2781,2783,2785,2787,2789,2791],{"class":655,"line":744},[653,2756,2075],{"class":718},[653,2758,734],{"class":663},[653,2760,1259],{"class":663},[653,2762,2083],{"class":2082},[653,2764,634],{"class":663},[653,2766,2088],{"class":1935},[653,2768,664],{"class":663},[653,2770,2093],{"class":667},[653,2772,1205],{"class":663},[653,2774,2098],{"class":667},[653,2776,1205],{"class":663},[653,2778,1730],{"class":667},[653,2780,1961],{"class":663},[653,2782,1823],{"class":667},[653,2784,1205],{"class":663},[653,2786,973],{"class":667},[653,2788,1205],{"class":663},[653,2790,1749],{"class":667},[653,2792,782],{"class":663},[653,2794,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831,2833,2835],{"class":655,"line":785},[653,2796,2121],{"class":718},[653,2798,734],{"class":663},[653,2800,1259],{"class":663},[653,2802,2083],{"class":2082},[653,2804,634],{"class":663},[653,2806,2088],{"class":1935},[653,2808,664],{"class":663},[653,2810,2136],{"class":659},[653,2812,1259],{"class":730},[653,2814,2083],{"class":667},[653,2816,1205],{"class":663},[653,2818,2145],{"class":667},[653,2820,2148],{"class":663},[653,2822,2151],{"class":861},[653,2824,2154],{"class":730},[653,2826,2083],{"class":667},[653,2828,1205],{"class":663},[653,2830,2161],{"class":667},[653,2832,1961],{"class":663},[653,2834,738],{"class":737},[653,2836,782],{"class":663},[653,2838,2839,2841],{"class":655,"line":798},[653,2840,913],{"class":663},[653,2842,2843],{"class":667},"))\n",[643,2845,2847],{"className":645,"code":2846,"filename":275,"language":648,"meta":647,"style":649},"app.use(evlog({\n  include: ['\u002Fapi\u002F**'],\n  drain: createAxiomDrain(),\n  enrich: (ctx) => { ctx.event.region = process.env.FLY_REGION },\n}))\n",[631,2848,2849,2865,2883,2895,2935],{"__ignoreMap":649},[653,2850,2851,2853,2855,2857,2859,2861,2863],{"class":655,"line":656},[653,2852,2659],{"class":667},[653,2854,1205],{"class":663},[653,2856,2664],{"class":718},[653,2858,721],{"class":667},[653,2860,681],{"class":718},[653,2862,721],{"class":667},[653,2864,724],{"class":663},[653,2866,2867,2869,2871,2873,2875,2877,2879,2881],{"class":655,"line":687},[653,2868,1988],{"class":730},[653,2870,734],{"class":663},[653,2872,873],{"class":667},[653,2874,764],{"class":663},[653,2876,1997],{"class":680},[653,2878,764],{"class":663},[653,2880,1427],{"class":667},[653,2882,741],{"class":663},[653,2884,2885,2887,2889,2891,2893],{"class":655,"line":708},[653,2886,898],{"class":730},[653,2888,734],{"class":663},[653,2890,694],{"class":718},[653,2892,905],{"class":667},[653,2894,741],{"class":663},[653,2896,2897,2899,2901,2903,2905,2907,2909,2911,2913,2915,2917,2919,2921,2923,2925,2927,2929,2931,2933],{"class":655,"line":715},[653,2898,2075],{"class":718},[653,2900,734],{"class":663},[653,2902,1259],{"class":663},[653,2904,2083],{"class":2082},[653,2906,634],{"class":663},[653,2908,2088],{"class":1935},[653,2910,664],{"class":663},[653,2912,2093],{"class":667},[653,2914,1205],{"class":663},[653,2916,2098],{"class":667},[653,2918,1205],{"class":663},[653,2920,1730],{"class":667},[653,2922,1961],{"class":663},[653,2924,1823],{"class":667},[653,2926,1205],{"class":663},[653,2928,973],{"class":667},[653,2930,1205],{"class":663},[653,2932,1749],{"class":667},[653,2934,782],{"class":663},[653,2936,2937,2939],{"class":655,"line":727},[653,2938,913],{"class":663},[653,2940,2843],{"class":667},[643,2942,2944],{"className":645,"code":2943,"filename":285,"language":648,"meta":647,"style":649},"await app.register(evlog, {\n  include: ['\u002Fapi\u002F**'],\n  drain: createAxiomDrain(),\n})\n",[631,2945,2946,2966,2984,2996],{"__ignoreMap":649},[653,2947,2948,2951,2954,2956,2959,2962,2964],{"class":655,"line":656},[653,2949,2950],{"class":659},"await",[653,2952,2953],{"class":667}," app",[653,2955,1205],{"class":663},[653,2957,2958],{"class":718},"register",[653,2960,2961],{"class":667},"(evlog",[653,2963,767],{"class":663},[653,2965,1439],{"class":663},[653,2967,2968,2970,2972,2974,2976,2978,2980,2982],{"class":655,"line":687},[653,2969,1988],{"class":730},[653,2971,734],{"class":663},[653,2973,873],{"class":667},[653,2975,764],{"class":663},[653,2977,1997],{"class":680},[653,2979,764],{"class":663},[653,2981,1427],{"class":667},[653,2983,741],{"class":663},[653,2985,2986,2988,2990,2992,2994],{"class":655,"line":708},[653,2987,898],{"class":730},[653,2989,734],{"class":663},[653,2991,694],{"class":718},[653,2993,905],{"class":667},[653,2995,741],{"class":663},[653,2997,2998,3000],{"class":655,"line":715},[653,2999,913],{"class":663},[653,3001,916],{"class":667},[643,3003,3005],{"className":645,"code":3004,"filename":290,"language":648,"meta":647,"style":649},"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",[631,3006,3007,3026,3030,3046,3064,3082,3114,3126,3166,3210],{"__ignoreMap":649},[653,3008,3009,3011,3013,3015,3017,3019,3021,3024],{"class":655,"line":656},[653,3010,660],{"class":659},[653,3012,664],{"class":663},[653,3014,2414],{"class":667},[653,3016,671],{"class":663},[653,3018,674],{"class":659},[653,3020,677],{"class":663},[653,3022,3023],{"class":680},"evlog\u002Felysia",[653,3025,684],{"class":663},[653,3027,3028],{"class":655,"line":687},[653,3029,712],{"emptyLinePlaceholder":711},[653,3031,3032,3034,3036,3038,3040,3042,3044],{"class":655,"line":708},[653,3033,2659],{"class":667},[653,3035,1205],{"class":663},[653,3037,2664],{"class":718},[653,3039,721],{"class":667},[653,3041,681],{"class":718},[653,3043,721],{"class":667},[653,3045,724],{"class":663},[653,3047,3048,3050,3052,3054,3056,3058,3060,3062],{"class":655,"line":715},[653,3049,1988],{"class":730},[653,3051,734],{"class":663},[653,3053,873],{"class":667},[653,3055,764],{"class":663},[653,3057,1997],{"class":680},[653,3059,764],{"class":663},[653,3061,1427],{"class":667},[653,3063,741],{"class":663},[653,3065,3066,3068,3070,3072,3074,3076,3078,3080],{"class":655,"line":727},[653,3067,2008],{"class":730},[653,3069,734],{"class":663},[653,3071,873],{"class":667},[653,3073,764],{"class":663},[653,3075,2017],{"class":680},[653,3077,764],{"class":663},[653,3079,1427],{"class":667},[653,3081,741],{"class":663},[653,3083,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112],{"class":655,"line":744},[653,3085,2028],{"class":730},[653,3087,734],{"class":663},[653,3089,664],{"class":663},[653,3091,677],{"class":663},[653,3093,2037],{"class":730},[653,3095,764],{"class":663},[653,3097,734],{"class":663},[653,3099,664],{"class":663},[653,3101,754],{"class":730},[653,3103,734],{"class":663},[653,3105,677],{"class":663},[653,3107,2052],{"class":680},[653,3109,764],{"class":663},[653,3111,671],{"class":663},[653,3113,782],{"class":663},[653,3115,3116,3118,3120,3122,3124],{"class":655,"line":785},[653,3117,898],{"class":730},[653,3119,734],{"class":663},[653,3121,694],{"class":718},[653,3123,905],{"class":667},[653,3125,741],{"class":663},[653,3127,3128,3130,3132,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152,3154,3156,3158,3160,3162,3164],{"class":655,"line":798},[653,3129,2075],{"class":718},[653,3131,734],{"class":663},[653,3133,1259],{"class":663},[653,3135,2083],{"class":2082},[653,3137,634],{"class":663},[653,3139,2088],{"class":1935},[653,3141,664],{"class":663},[653,3143,2093],{"class":667},[653,3145,1205],{"class":663},[653,3147,2098],{"class":667},[653,3149,1205],{"class":663},[653,3151,1730],{"class":667},[653,3153,1961],{"class":663},[653,3155,1823],{"class":667},[653,3157,1205],{"class":663},[653,3159,973],{"class":667},[653,3161,1205],{"class":663},[653,3163,1749],{"class":667},[653,3165,782],{"class":663},[653,3167,3168,3170,3172,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196,3198,3200,3202,3204,3206,3208],{"class":655,"line":810},[653,3169,2121],{"class":718},[653,3171,734],{"class":663},[653,3173,1259],{"class":663},[653,3175,2083],{"class":2082},[653,3177,634],{"class":663},[653,3179,2088],{"class":1935},[653,3181,664],{"class":663},[653,3183,2136],{"class":659},[653,3185,1259],{"class":730},[653,3187,2083],{"class":667},[653,3189,1205],{"class":663},[653,3191,2145],{"class":667},[653,3193,2148],{"class":663},[653,3195,2151],{"class":861},[653,3197,2154],{"class":730},[653,3199,2083],{"class":667},[653,3201,1205],{"class":663},[653,3203,2161],{"class":667},[653,3205,1961],{"class":663},[653,3207,738],{"class":737},[653,3209,782],{"class":663},[653,3211,3212,3214],{"class":655,"line":822},[653,3213,913],{"class":663},[653,3215,2843],{"class":667},[643,3217,3220],{"className":645,"code":3218,"filename":270,"language":648,"meta":3219,"style":649},"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",[631,3221,3222,3242,3246,3260,3278,3296,3328,3340,3380,3424],{"__ignoreMap":649},[653,3223,3224,3226,3228,3231,3233,3235,3237,3240],{"class":655,"line":656},[653,3225,660],{"class":659},[653,3227,664],{"class":663},[653,3229,3230],{"class":667}," EvlogModule",[653,3232,671],{"class":663},[653,3234,674],{"class":659},[653,3236,677],{"class":663},[653,3238,3239],{"class":680},"evlog\u002Fnestjs",[653,3241,684],{"class":663},[653,3243,3244],{"class":655,"line":687},[653,3245,712],{"emptyLinePlaceholder":711},[653,3247,3248,3251,3253,3256,3258],{"class":655,"line":708},[653,3249,3250],{"class":667},"EvlogModule",[653,3252,1205],{"class":663},[653,3254,3255],{"class":718},"forRoot",[653,3257,721],{"class":667},[653,3259,724],{"class":663},[653,3261,3262,3264,3266,3268,3270,3272,3274,3276],{"class":655,"line":715},[653,3263,1988],{"class":730},[653,3265,734],{"class":663},[653,3267,873],{"class":667},[653,3269,764],{"class":663},[653,3271,1997],{"class":680},[653,3273,764],{"class":663},[653,3275,1427],{"class":667},[653,3277,741],{"class":663},[653,3279,3280,3282,3284,3286,3288,3290,3292,3294],{"class":655,"line":727},[653,3281,2008],{"class":730},[653,3283,734],{"class":663},[653,3285,873],{"class":667},[653,3287,764],{"class":663},[653,3289,2017],{"class":680},[653,3291,764],{"class":663},[653,3293,1427],{"class":667},[653,3295,741],{"class":663},[653,3297,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326],{"class":655,"line":744},[653,3299,2028],{"class":730},[653,3301,734],{"class":663},[653,3303,664],{"class":663},[653,3305,677],{"class":663},[653,3307,2037],{"class":730},[653,3309,764],{"class":663},[653,3311,734],{"class":663},[653,3313,664],{"class":663},[653,3315,754],{"class":730},[653,3317,734],{"class":663},[653,3319,677],{"class":663},[653,3321,2052],{"class":680},[653,3323,764],{"class":663},[653,3325,671],{"class":663},[653,3327,782],{"class":663},[653,3329,3330,3332,3334,3336,3338],{"class":655,"line":785},[653,3331,898],{"class":730},[653,3333,734],{"class":663},[653,3335,694],{"class":718},[653,3337,905],{"class":667},[653,3339,741],{"class":663},[653,3341,3342,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366,3368,3370,3372,3374,3376,3378],{"class":655,"line":798},[653,3343,2075],{"class":718},[653,3345,734],{"class":663},[653,3347,1259],{"class":663},[653,3349,2083],{"class":2082},[653,3351,634],{"class":663},[653,3353,2088],{"class":1935},[653,3355,664],{"class":663},[653,3357,2093],{"class":667},[653,3359,1205],{"class":663},[653,3361,2098],{"class":667},[653,3363,1205],{"class":663},[653,3365,1730],{"class":667},[653,3367,1961],{"class":663},[653,3369,1823],{"class":667},[653,3371,1205],{"class":663},[653,3373,973],{"class":667},[653,3375,1205],{"class":663},[653,3377,1749],{"class":667},[653,3379,782],{"class":663},[653,3381,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416,3418,3420,3422],{"class":655,"line":810},[653,3383,2121],{"class":718},[653,3385,734],{"class":663},[653,3387,1259],{"class":663},[653,3389,2083],{"class":2082},[653,3391,634],{"class":663},[653,3393,2088],{"class":1935},[653,3395,664],{"class":663},[653,3397,2136],{"class":659},[653,3399,1259],{"class":730},[653,3401,2083],{"class":667},[653,3403,1205],{"class":663},[653,3405,2145],{"class":667},[653,3407,2148],{"class":663},[653,3409,2151],{"class":861},[653,3411,2154],{"class":730},[653,3413,2083],{"class":667},[653,3415,1205],{"class":663},[653,3417,2161],{"class":667},[653,3419,1961],{"class":663},[653,3421,738],{"class":737},[653,3423,782],{"class":663},[653,3425,3426,3428],{"class":655,"line":822},[653,3427,913],{"class":663},[653,3429,916],{"class":667},[643,3431,3434],{"className":645,"code":3432,"filename":314,"language":648,"meta":3433,"style":649},"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",[631,3435,3436,3455,3459,3486,3504,3522,3554,3566,3606,3650],{"__ignoreMap":649},[653,3437,3438,3440,3442,3444,3446,3448,3450,3453],{"class":655,"line":656},[653,3439,660],{"class":659},[653,3441,664],{"class":663},[653,3443,1941],{"class":667},[653,3445,671],{"class":663},[653,3447,674],{"class":659},[653,3449,677],{"class":663},[653,3451,3452],{"class":680},"evlog\u002Forpc",[653,3454,684],{"class":663},[653,3456,3457],{"class":655,"line":687},[653,3458,712],{"emptyLinePlaceholder":711},[653,3460,3461,3464,3467,3469,3471,3473,3476,3479,3482,3484],{"class":655,"line":708},[653,3462,3463],{"class":1935},"const",[653,3465,3466],{"class":667}," handler ",[653,3468,2454],{"class":663},[653,3470,1941],{"class":718},[653,3472,721],{"class":667},[653,3474,3475],{"class":663},"new",[653,3477,3478],{"class":718}," RPCHandler",[653,3480,3481],{"class":667},"(router)",[653,3483,767],{"class":663},[653,3485,1439],{"class":663},[653,3487,3488,3490,3492,3494,3496,3498,3500,3502],{"class":655,"line":715},[653,3489,1988],{"class":730},[653,3491,734],{"class":663},[653,3493,873],{"class":667},[653,3495,764],{"class":663},[653,3497,1997],{"class":680},[653,3499,764],{"class":663},[653,3501,1427],{"class":667},[653,3503,741],{"class":663},[653,3505,3506,3508,3510,3512,3514,3516,3518,3520],{"class":655,"line":727},[653,3507,2008],{"class":730},[653,3509,734],{"class":663},[653,3511,873],{"class":667},[653,3513,764],{"class":663},[653,3515,2017],{"class":680},[653,3517,764],{"class":663},[653,3519,1427],{"class":667},[653,3521,741],{"class":663},[653,3523,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552],{"class":655,"line":744},[653,3525,2028],{"class":730},[653,3527,734],{"class":663},[653,3529,664],{"class":663},[653,3531,677],{"class":663},[653,3533,2037],{"class":730},[653,3535,764],{"class":663},[653,3537,734],{"class":663},[653,3539,664],{"class":663},[653,3541,754],{"class":730},[653,3543,734],{"class":663},[653,3545,677],{"class":663},[653,3547,2052],{"class":680},[653,3549,764],{"class":663},[653,3551,671],{"class":663},[653,3553,782],{"class":663},[653,3555,3556,3558,3560,3562,3564],{"class":655,"line":785},[653,3557,898],{"class":730},[653,3559,734],{"class":663},[653,3561,694],{"class":718},[653,3563,905],{"class":667},[653,3565,741],{"class":663},[653,3567,3568,3570,3572,3574,3576,3578,3580,3582,3584,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604],{"class":655,"line":798},[653,3569,2075],{"class":718},[653,3571,734],{"class":663},[653,3573,1259],{"class":663},[653,3575,2083],{"class":2082},[653,3577,634],{"class":663},[653,3579,2088],{"class":1935},[653,3581,664],{"class":663},[653,3583,2093],{"class":667},[653,3585,1205],{"class":663},[653,3587,2098],{"class":667},[653,3589,1205],{"class":663},[653,3591,1730],{"class":667},[653,3593,1961],{"class":663},[653,3595,1823],{"class":667},[653,3597,1205],{"class":663},[653,3599,973],{"class":667},[653,3601,1205],{"class":663},[653,3603,1749],{"class":667},[653,3605,782],{"class":663},[653,3607,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3628,3630,3632,3634,3636,3638,3640,3642,3644,3646,3648],{"class":655,"line":810},[653,3609,2121],{"class":718},[653,3611,734],{"class":663},[653,3613,1259],{"class":663},[653,3615,2083],{"class":2082},[653,3617,634],{"class":663},[653,3619,2088],{"class":1935},[653,3621,664],{"class":663},[653,3623,2136],{"class":659},[653,3625,1259],{"class":730},[653,3627,2083],{"class":667},[653,3629,1205],{"class":663},[653,3631,2145],{"class":667},[653,3633,2148],{"class":663},[653,3635,2151],{"class":861},[653,3637,2154],{"class":730},[653,3639,2083],{"class":667},[653,3641,1205],{"class":663},[653,3643,2161],{"class":667},[653,3645,1961],{"class":663},[653,3647,738],{"class":737},[653,3649,782],{"class":663},[653,3651,3652,3654],{"class":655,"line":822},[653,3653,913],{"class":663},[653,3655,916],{"class":667},[643,3657,3660],{"className":645,"code":3658,"filename":300,"language":648,"meta":3659,"style":649},"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",[631,3661,3662,3681,3685,3700,3718,3736,3768,3780,3820,3864],{"__ignoreMap":649},[653,3663,3664,3666,3668,3670,3672,3674,3676,3679],{"class":655,"line":656},[653,3665,660],{"class":659},[653,3667,664],{"class":663},[653,3669,1941],{"class":667},[653,3671,671],{"class":663},[653,3673,674],{"class":659},[653,3675,677],{"class":663},[653,3677,3678],{"class":680},"evlog\u002Fworkers",[653,3680,684],{"class":663},[653,3682,3683],{"class":655,"line":687},[653,3684,712],{"emptyLinePlaceholder":711},[653,3686,3687,3689,3691,3693,3696,3698],{"class":655,"line":708},[653,3688,1398],{"class":659},[653,3690,1401],{"class":659},[653,3692,1941],{"class":718},[653,3694,3695],{"class":667},"(handler",[653,3697,767],{"class":663},[653,3699,1439],{"class":663},[653,3701,3702,3704,3706,3708,3710,3712,3714,3716],{"class":655,"line":715},[653,3703,1988],{"class":730},[653,3705,734],{"class":663},[653,3707,873],{"class":667},[653,3709,764],{"class":663},[653,3711,1997],{"class":680},[653,3713,764],{"class":663},[653,3715,1427],{"class":667},[653,3717,741],{"class":663},[653,3719,3720,3722,3724,3726,3728,3730,3732,3734],{"class":655,"line":727},[653,3721,2008],{"class":730},[653,3723,734],{"class":663},[653,3725,873],{"class":667},[653,3727,764],{"class":663},[653,3729,2017],{"class":680},[653,3731,764],{"class":663},[653,3733,1427],{"class":667},[653,3735,741],{"class":663},[653,3737,3738,3740,3742,3744,3746,3748,3750,3752,3754,3756,3758,3760,3762,3764,3766],{"class":655,"line":744},[653,3739,2028],{"class":730},[653,3741,734],{"class":663},[653,3743,664],{"class":663},[653,3745,677],{"class":663},[653,3747,2037],{"class":730},[653,3749,764],{"class":663},[653,3751,734],{"class":663},[653,3753,664],{"class":663},[653,3755,754],{"class":730},[653,3757,734],{"class":663},[653,3759,677],{"class":663},[653,3761,2052],{"class":680},[653,3763,764],{"class":663},[653,3765,671],{"class":663},[653,3767,782],{"class":663},[653,3769,3770,3772,3774,3776,3778],{"class":655,"line":785},[653,3771,898],{"class":730},[653,3773,734],{"class":663},[653,3775,694],{"class":718},[653,3777,905],{"class":667},[653,3779,741],{"class":663},[653,3781,3782,3784,3786,3788,3790,3792,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814,3816,3818],{"class":655,"line":798},[653,3783,2075],{"class":718},[653,3785,734],{"class":663},[653,3787,1259],{"class":663},[653,3789,2083],{"class":2082},[653,3791,634],{"class":663},[653,3793,2088],{"class":1935},[653,3795,664],{"class":663},[653,3797,2093],{"class":667},[653,3799,1205],{"class":663},[653,3801,2098],{"class":667},[653,3803,1205],{"class":663},[653,3805,1730],{"class":667},[653,3807,1961],{"class":663},[653,3809,1823],{"class":667},[653,3811,1205],{"class":663},[653,3813,973],{"class":667},[653,3815,1205],{"class":663},[653,3817,1749],{"class":667},[653,3819,782],{"class":663},[653,3821,3822,3824,3826,3828,3830,3832,3834,3836,3838,3840,3842,3844,3846,3848,3850,3852,3854,3856,3858,3860,3862],{"class":655,"line":810},[653,3823,2121],{"class":718},[653,3825,734],{"class":663},[653,3827,1259],{"class":663},[653,3829,2083],{"class":2082},[653,3831,634],{"class":663},[653,3833,2088],{"class":1935},[653,3835,664],{"class":663},[653,3837,2136],{"class":659},[653,3839,1259],{"class":730},[653,3841,2083],{"class":667},[653,3843,1205],{"class":663},[653,3845,2145],{"class":667},[653,3847,2148],{"class":663},[653,3849,2151],{"class":861},[653,3851,2154],{"class":730},[653,3853,2083],{"class":667},[653,3855,1205],{"class":663},[653,3857,2161],{"class":667},[653,3859,1961],{"class":663},[653,3861,738],{"class":737},[653,3863,782],{"class":663},[653,3865,3866,3868],{"class":655,"line":822},[653,3867,913],{"class":663},[653,3869,916],{"class":667},[918,3871,3872,3884],{},[921,3873,3874],{},[924,3875,3876,3878,3880,3882],{},[927,3877,929],{},[927,3879,932],{},[927,3881,935],{},[927,3883,938],{},[940,3885,3886,3905,3923,3942,3959,3978],{},[924,3887,3888,3893,3898,3902],{},[945,3889,3890],{},[631,3891,3892],{},"include",[945,3894,3895],{},[631,3896,3897],{},"string[]",[945,3899,3900],{},[631,3901,1123],{},[945,3903,3904],{},"Route glob patterns to log. If not set, all routes are logged",[924,3906,3907,3912,3916,3920],{},[945,3908,3909],{},[631,3910,3911],{},"exclude",[945,3913,3914],{},[631,3915,3897],{},[945,3917,3918],{},[631,3919,1123],{},[945,3921,3922],{},"Route patterns to exclude. Exclusions take precedence over inclusions",[924,3924,3925,3930,3935,3939],{},[945,3926,3927],{},[631,3928,3929],{},"routes",[945,3931,3932],{},[631,3933,3934],{},"Record\u003Cstring, { service: string }>",[945,3936,3937],{},[631,3938,1123],{},[945,3940,3941],{},"Route-specific service name overrides",[924,3943,3944,3948,3952,3956],{},[945,3945,3946],{},[631,3947,1160],{},[945,3949,3950],{},[631,3951,1165],{},[945,3953,3954],{},[631,3955,1123],{},[945,3957,3958],{},"Drain callback called with every emitted event",[924,3960,3961,3966,3971,3975],{},[945,3962,3963],{},[631,3964,3965],{},"enrich",[945,3967,3968],{},[631,3969,3970],{},"(ctx: EnrichContext) => void",[945,3972,3973],{},[631,3974,1123],{},[945,3976,3977],{},"Enrich callback called after emit, before drain",[924,3979,3980,3984,3989,3993],{},[945,3981,3982],{},[631,3983,1252],{},[945,3985,3986],{},[631,3987,3988],{},"(ctx: TailSamplingContext) => void",[945,3990,3991],{},[631,3992,1123],{},[945,3994,3995],{},"Custom tail sampling callback",[1863,3997,3998,4001,4002,1193,4005,1193,4008,4011,4012,4014,4015,4017],{"color":832,"icon":13},[617,3999,4000],{},"Nuxt and Nitro"," use module config and Nitro hooks (",[631,4003,4004],{},"evlog:drain",[631,4006,4007],{},"evlog:enrich",[631,4009,4010],{},"evlog:emit:keep",") instead of middleware options. See the ",[1033,4013,245],{"href":246}," and ",[1033,4016,260],{"href":261}," pages.",[1207,4019,4021],{"id":4020},"middleware-drain-vs-global-drain","Middleware drain vs global drain",[613,4023,4024,4025,4027,4028,4030],{},"When a middleware ",[631,4026,1160],{}," is set, it takes precedence over the global drain from ",[631,4029,640],{},". 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).",[643,4032,4034],{"className":645,"code":4033,"filename":647,"language":648,"meta":649,"style":649},"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",[631,4035,4036,4054,4072,4076,4084,4104,4119,4125,4129,4145,4150],{"__ignoreMap":649},[653,4037,4038,4040,4042,4044,4046,4048,4050,4052],{"class":655,"line":656},[653,4039,660],{"class":659},[653,4041,664],{"class":663},[653,4043,668],{"class":667},[653,4045,671],{"class":663},[653,4047,674],{"class":659},[653,4049,677],{"class":663},[653,4051,681],{"class":680},[653,4053,684],{"class":663},[653,4055,4056,4058,4060,4062,4064,4066,4068,4070],{"class":655,"line":687},[653,4057,660],{"class":659},[653,4059,664],{"class":663},[653,4061,694],{"class":667},[653,4063,671],{"class":663},[653,4065,674],{"class":659},[653,4067,677],{"class":663},[653,4069,703],{"class":680},[653,4071,684],{"class":663},[653,4073,4074],{"class":655,"line":708},[653,4075,712],{"emptyLinePlaceholder":711},[653,4077,4078,4080,4082],{"class":655,"line":715},[653,4079,633],{"class":718},[653,4081,721],{"class":667},[653,4083,724],{"class":663},[653,4085,4086,4088,4090,4092,4094,4096,4098,4100,4102],{"class":655,"line":727},[653,4087,747],{"class":730},[653,4089,734],{"class":663},[653,4091,664],{"class":663},[653,4093,754],{"class":730},[653,4095,734],{"class":663},[653,4097,677],{"class":663},[653,4099,761],{"class":680},[653,4101,764],{"class":663},[653,4103,782],{"class":663},[653,4105,4106,4108,4110,4112,4114,4116],{"class":655,"line":744},[653,4107,898],{"class":730},[653,4109,734],{"class":663},[653,4111,694],{"class":718},[653,4113,905],{"class":667},[653,4115,767],{"class":663},[653,4117,4118],{"class":1468}," \u002F\u002F fallback: used by singleton log API AND middleware (if no middleware drain)\n",[653,4120,4121,4123],{"class":655,"line":785},[653,4122,913],{"class":663},[653,4124,916],{"class":667},[653,4126,4127],{"class":655,"line":798},[653,4128,712],{"emptyLinePlaceholder":711},[653,4130,4131,4133,4135,4137,4139,4141,4143],{"class":655,"line":810},[653,4132,2659],{"class":667},[653,4134,1205],{"class":663},[653,4136,2664],{"class":718},[653,4138,721],{"class":667},[653,4140,681],{"class":718},[653,4142,721],{"class":667},[653,4144,724],{"class":663},[653,4146,4147],{"class":655,"line":822},[653,4148,4149],{"class":1468},"  \u002F\u002F no drain here - falls back to globalDrain from initLogger, with full request context\n",[653,4151,4152,4154],{"class":655,"line":839},[653,4153,913],{"class":663},[653,4155,2843],{"class":667},[626,4157,4159],{"id":4158},"framework-specific-options","Framework-specific options",[613,4161,4162],{},"Some frameworks have additional options beyond the shared config:",[1207,4164,245],{"id":4165},"nuxt",[613,4167,4168,4169,4171,4172,4174],{},"The Nuxt module accepts all global options and middleware options in ",[631,4170,1391],{}," under the ",[631,4173,681],{}," key, plus:",[918,4176,4177,4189],{},[921,4178,4179],{},[924,4180,4181,4183,4185,4187],{},[927,4182,929],{},[927,4184,932],{},[927,4186,935],{},[927,4188,938],{},[940,4190,4191,4209,4227,4246],{},[924,4192,4193,4198,4202,4206],{},[945,4194,4195],{},[631,4196,4197],{},"console",[945,4199,4200],{},[631,4201,954],{},[945,4203,4204],{},[631,4205,959],{},[945,4207,4208],{},"Enable\u002Fdisable browser console output (client-side only)",[924,4210,4211,4216,4220,4224],{},[945,4212,4213],{},[631,4214,4215],{},"transport.enabled",[945,4217,4218],{},[631,4219,954],{},[945,4221,4222],{},[631,4223,965],{},[945,4225,4226],{},"Send client logs to the server via API endpoint",[924,4228,4229,4234,4238,4243],{},[945,4230,4231],{},[631,4232,4233],{},"transport.endpoint",[945,4235,4236],{},[631,4237,1644],{},[945,4239,4240],{},[631,4241,4242],{},"'\u002Fapi\u002F_evlog\u002Fingest'",[945,4244,4245],{},"Custom transport endpoint",[924,4247,4248,4253,4258,4263],{},[945,4249,4250],{},[631,4251,4252],{},"transport.credentials",[945,4254,4255],{},[631,4256,4257],{},"RequestCredentials",[945,4259,4260],{},[631,4261,4262],{},"'same-origin'",[945,4264,4265,4266,4269],{},"Fetch credentials mode (",[631,4267,4268],{},"'include'"," for cross-origin endpoints)",[613,4271,4272,4273,1205],{},"See the full ",[1033,4274,4276],{"href":4275},"\u002Fintegrate\u002Fframeworks\u002Fnuxt#configuration","Nuxt configuration",[1207,4278,260],{"id":4279},"nitro",[613,4281,4282,4283,1193,4285,1193,4287,1193,4289,1193,4291,1193,4293,1193,4295,4297,4298,4300,4301,4304],{},"The Nitro module accepts ",[631,4284,949],{},[631,4286,973],{},[631,4288,991],{},[631,4290,1043],{},[631,4292,1113],{},[631,4294,3892],{},[631,4296,3911],{},", and ",[631,4299,3929],{}," in ",[631,4302,4303],{},"nitro.config.ts",", and leaves drain and enrichment to the Nitro hooks.",[613,4306,1599,4307,1205],{},[1033,4308,4310],{"href":4309},"\u002Fintegrate\u002Fframeworks\u002Fnitro#drain--enrichers","Nitro drain & enrichers",[4312,4313,4314],"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":649,"searchDepth":687,"depth":687,"links":4316},[4317,4325,4328],{"id":628,"depth":687,"text":4318,"children":4319},"Global options (initLogger)",[4320,4322,4323,4324],{"id":1209,"depth":708,"text":4321},"minLevel vs sampling",{"id":1309,"depth":708,"text":1036},{"id":1607,"depth":708,"text":1608},{"id":1755,"depth":708,"text":1756},{"id":1873,"depth":687,"text":1874,"children":4326},[4327],{"id":4020,"depth":708,"text":4021},{"id":4158,"depth":687,"text":4159,"children":4329},[4330,4331],{"id":4165,"depth":708,"text":245},{"id":4279,"depth":708,"text":260},"Every evlog option is listed here, from global logger settings to the framework overrides that take precedence over them.","md",[4335,4338],{"label":66,"icon":69,"to":67,"color":4336,"variant":4337},"neutral","subtle",{"label":4339,"icon":359,"to":158,"color":4336,"variant":4337},"Drain Adapters",{},{"icon":555},{"title":552,"description":4332},"x19rHFDonb5r7B_FhJZUn5IBF0nl8Vg2K5gHvMpTqJY",[4345,4347],{"title":41,"path":548,"stem":549,"description":4346,"icon":550,"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":388,"path":557,"stem":558,"description":4348,"icon":117,"children":-1},"Inspect evlog benchmark workloads, output settings, and bundle measurements before estimating the cost of your logging configuration.",1791444205952]