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