[{"data":1,"prerenderedAt":2948},["ShallowReactive",2],{"navigation_docs":3,"-reference-configuration":567,"-reference-configuration-surround":2943},[4,30,80,133,313,444,503,542],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"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",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"CLI","\u002Fcli","3.cli",[85,88,93,98,103,108,113,118,123,128],{"title":36,"path":86,"stem":87,"icon":44},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":89,"path":90,"stem":91,"icon":92},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":94,"path":95,"stem":96,"icon":97},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":99,"path":100,"stem":101,"icon":102},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":104,"path":105,"stem":106,"icon":107},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":109,"path":110,"stem":111,"icon":112},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":114,"path":115,"stem":116,"icon":117},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":119,"path":120,"stem":121,"icon":122},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":124,"path":125,"stem":126,"icon":127},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":129,"path":130,"stem":131,"icon":132},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":134,"path":135,"stem":136,"children":137,"page":29},"Integrate","\u002Fintegrate","4.integrate",[138,142,225],{"title":36,"path":139,"stem":140,"icon":141},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":143,"path":144,"stem":145,"children":146,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[147,150,180,205],{"title":36,"path":148,"stem":149,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":151,"path":152,"stem":153,"children":154,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[155,160,165,170,175],{"title":156,"path":157,"stem":158,"icon":159},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":161,"path":162,"stem":163,"icon":164},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":166,"path":167,"stem":168,"icon":169},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":171,"path":172,"stem":173,"icon":174},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":176,"path":177,"stem":178,"icon":179},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":181,"path":182,"stem":183,"children":184,"page":29},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[185,190,195,200],{"title":186,"path":187,"stem":188,"icon":189},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":191,"path":192,"stem":193,"icon":194},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":196,"path":197,"stem":198,"icon":199},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":201,"path":202,"stem":203,"icon":204},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":206,"path":207,"stem":208,"children":209,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[210,215,220],{"title":211,"path":212,"stem":213,"icon":214},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":216,"path":217,"stem":218,"icon":219},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":221,"path":222,"stem":223,"icon":224},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":226,"path":227,"stem":228,"children":229,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[230,234,239,244,249,254,259,264,269,274,279,284,289,294,298,303,308],{"title":36,"path":231,"stem":232,"icon":233},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":235,"path":236,"stem":237,"icon":238},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":240,"path":241,"stem":242,"icon":243},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":245,"path":246,"stem":247,"icon":248},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":250,"path":251,"stem":252,"icon":253},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":255,"path":256,"stem":257,"icon":258},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":260,"path":261,"stem":262,"icon":263},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":265,"path":266,"stem":267,"icon":268},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":270,"path":271,"stem":272,"icon":273},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":275,"path":276,"stem":277,"icon":278},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":280,"path":281,"stem":282,"icon":283},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":285,"path":286,"stem":287,"icon":288},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":290,"path":291,"stem":292,"icon":293},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":295,"path":296,"stem":297,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":299,"path":300,"stem":301,"icon":302},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":304,"path":305,"stem":306,"icon":307},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":309,"path":310,"stem":311,"icon":312},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":314,"path":315,"stem":316,"children":317,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[318,321,326,354,381,413,434,439],{"title":36,"path":319,"stem":320,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":322,"path":323,"stem":324,"icon":325},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":327,"icon":328,"path":329,"stem":330,"children":331,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[332,335,340,345,350],{"title":36,"path":333,"stem":334,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":336,"path":337,"stem":338,"icon":339},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":341,"path":342,"stem":343,"icon":344},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":346,"path":347,"stem":348,"icon":349},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":351,"path":352,"stem":353,"icon":132},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":355,"icon":356,"path":357,"stem":358,"children":359,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[360,363,368,373,377],{"title":36,"path":361,"stem":362,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":364,"path":365,"stem":366,"icon":367},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":369,"path":370,"stem":371,"icon":372},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":374,"path":375,"stem":376,"icon":325},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":378,"path":379,"stem":380,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":382,"icon":383,"path":384,"stem":385,"children":386,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[387,390,395,400,405,409],{"title":36,"path":388,"stem":389,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":391,"path":392,"stem":393,"icon":394},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":396,"path":397,"stem":398,"icon":399},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":401,"path":402,"stem":403,"icon":404},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":406,"path":407,"stem":408,"icon":383},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":410,"path":411,"stem":412,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":351,"icon":107,"path":414,"stem":415,"children":416,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[417,420,425,430],{"title":36,"path":418,"stem":419,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":421,"path":422,"stem":423,"icon":424},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":426,"path":427,"stem":428,"icon":429},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":431,"path":432,"stem":433,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":435,"path":436,"stem":437,"icon":438},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":440,"path":441,"stem":442,"icon":443},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":445,"path":446,"stem":447,"children":448,"page":29},"Extend","\u002Fextend","6.extend",[449,453,458,463,467,472,476,480,484,488,493,498],{"title":36,"path":450,"stem":451,"icon":452},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":454,"path":455,"stem":456,"icon":457},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":459,"path":460,"stem":461,"icon":462},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":464,"path":465,"stem":466,"icon":457},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":468,"path":469,"stem":470,"icon":471},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":410,"path":473,"stem":474,"icon":475},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":477,"path":478,"stem":479,"icon":452},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":481,"path":482,"stem":483,"icon":438},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":485,"path":486,"stem":487,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":489,"path":490,"stem":491,"icon":492},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":494,"path":495,"stem":496,"icon":497},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":499,"path":500,"stem":501,"icon":502},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":431,"path":504,"stem":505,"children":506,"page":29},"\u002Freference","7.reference",[507,511,516,519,524,528,533,537],{"title":36,"path":508,"stem":509,"icon":510},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":512,"path":513,"stem":514,"icon":515},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":378,"path":517,"stem":518,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":520,"path":521,"stem":522,"icon":523},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":525,"path":526,"stem":527,"icon":383},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":529,"path":530,"stem":531,"icon":532},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":534,"path":535,"stem":536,"icon":438},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":538,"path":539,"stem":540,"icon":541},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":543,"path":544,"stem":545,"children":546,"page":29},"Compare","\u002Fcompare","8.compare",[547,551,555,559,563],{"title":548,"path":549,"stem":550,"icon":532},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":552,"path":553,"stem":554,"icon":199},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":556,"path":557,"stem":558,"icon":532},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":560,"path":561,"stem":562,"icon":532},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":564,"path":565,"stem":566,"icon":532},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":568,"title":512,"body":569,"description":2931,"extension":2932,"links":2933,"meta":2939,"navigation":2940,"path":513,"seo":2941,"stem":514,"__hash__":2942},"docs\u002F7.reference\u002F1.configuration.md",{"type":570,"value":571,"toc":2914},"minimark",[572,585,595,602,877,1133,1166,1173,1230,1246,1249,1256,1266,1272,1327,1420,1426,1536,1544,1548,1554,1692,1696,1701,1801,1810,1814,1817,2469,2595,2617,2621,2630,2755,2759,2762,2765,2774,2869,2876,2879,2904,2910],[573,574,575,576,580,581,584],"p",{},"evlog has two configuration surfaces, and this page documents both: ",[577,578,579],"strong",{},"global options"," set once at startup, and ",[577,582,583],{},"middleware options"," set per framework integration.",[586,587,589,590,594],"h2",{"id":588},"global-options-initlogger","Global options (",[591,592,593],"code",{},"initLogger",")",[573,596,597,598,601],{},"These options apply to all frameworks. Call ",[591,599,600],{},"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.",[603,604,610],"pre",{"className":605,"code":606,"filename":607,"language":608,"meta":609,"style":609},"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","",[591,611,612,645,666,673,685,702,743,756,768,780,797,853,868],{"__ignoreMap":609},[613,614,617,621,625,629,632,635,638,642],"span",{"class":615,"line":616},"line",1,[613,618,620],{"class":619},"s7zQu","import",[613,622,624],{"class":623},"sMK4o"," {",[613,626,628],{"class":627},"sTEyZ"," initLogger",[613,630,631],{"class":623}," }",[613,633,634],{"class":619}," from",[613,636,637],{"class":623}," '",[613,639,641],{"class":640},"sfazB","evlog",[613,643,644],{"class":623},"'\n",[613,646,648,650,652,655,657,659,661,664],{"class":615,"line":647},2,[613,649,620],{"class":619},[613,651,624],{"class":623},[613,653,654],{"class":627}," createAxiomDrain",[613,656,631],{"class":623},[613,658,634],{"class":619},[613,660,637],{"class":623},[613,662,663],{"class":640},"evlog\u002Faxiom",[613,665,644],{"class":623},[613,667,669],{"class":615,"line":668},3,[613,670,672],{"emptyLinePlaceholder":671},true,"\n",[613,674,676,679,682],{"class":615,"line":675},4,[613,677,593],{"class":678},"s2Zo4",[613,680,681],{"class":627},"(",[613,683,684],{"class":623},"{\n",[613,686,688,692,695,699],{"class":615,"line":687},5,[613,689,691],{"class":690},"swJcz","  enabled",[613,693,694],{"class":623},":",[613,696,698],{"class":697},"sfNiH"," true",[613,700,701],{"class":623},",\n",[613,703,705,708,710,712,715,717,719,722,725,728,731,733,735,738,740],{"class":615,"line":704},6,[613,706,707],{"class":690},"  env",[613,709,694],{"class":623},[613,711,624],{"class":623},[613,713,714],{"class":690}," service",[613,716,694],{"class":623},[613,718,637],{"class":623},[613,720,721],{"class":640},"my-api",[613,723,724],{"class":623},"'",[613,726,727],{"class":623},",",[613,729,730],{"class":690}," environment",[613,732,694],{"class":623},[613,734,637],{"class":623},[613,736,737],{"class":640},"production",[613,739,724],{"class":623},[613,741,742],{"class":623}," },\n",[613,744,746,749,751,754],{"class":615,"line":745},7,[613,747,748],{"class":690},"  pretty",[613,750,694],{"class":623},[613,752,753],{"class":697}," false",[613,755,701],{"class":623},[613,757,759,762,764,766],{"class":615,"line":758},8,[613,760,761],{"class":690},"  silent",[613,763,694],{"class":623},[613,765,753],{"class":697},[613,767,701],{"class":623},[613,769,771,774,776,778],{"class":615,"line":770},9,[613,772,773],{"class":690},"  stringify",[613,775,694],{"class":623},[613,777,698],{"class":697},[613,779,701],{"class":623},[613,781,783,786,788,790,793,795],{"class":615,"line":782},10,[613,784,785],{"class":690},"  minLevel",[613,787,694],{"class":623},[613,789,637],{"class":623},[613,791,792],{"class":640},"info",[613,794,724],{"class":623},[613,796,701],{"class":623},[613,798,800,803,805,807,810,812,814,817,819,823,826,829,831,834,837,840,842,845,847,850],{"class":615,"line":799},11,[613,801,802],{"class":690},"  sampling",[613,804,694],{"class":623},[613,806,624],{"class":623},[613,808,809],{"class":690}," rates",[613,811,694],{"class":623},[613,813,624],{"class":623},[613,815,816],{"class":690}," info",[613,818,694],{"class":623},[613,820,822],{"class":821},"sbssI"," 10",[613,824,825],{"class":623}," },",[613,827,828],{"class":690}," keep",[613,830,694],{"class":623},[613,832,833],{"class":627}," [",[613,835,836],{"class":623},"{",[613,838,839],{"class":690}," status",[613,841,694],{"class":623},[613,843,844],{"class":821}," 400",[613,846,631],{"class":623},[613,848,849],{"class":627},"] ",[613,851,852],{"class":623},"},\n",[613,854,856,859,861,863,866],{"class":615,"line":855},12,[613,857,858],{"class":690},"  drain",[613,860,694],{"class":623},[613,862,654],{"class":678},[613,864,865],{"class":627},"()",[613,867,701],{"class":623},[613,869,871,874],{"class":615,"line":870},13,[613,872,873],{"class":623},"}",[613,875,876],{"class":627},")\n",[878,879,880,899],"table",{},[881,882,883],"thead",{},[884,885,886,890,893,896],"tr",{},[887,888,889],"th",{},"Option",[887,891,892],{},"Type",[887,894,895],{},"Default",[887,897,898],{},"Description",[900,901,902,927,945,967,997,1015,1039,1067,1089,1114],"tbody",{},[884,903,904,910,915,920],{},[905,906,907],"td",{},[591,908,909],{},"enabled",[905,911,912],{},[591,913,914],{},"boolean",[905,916,917],{},[591,918,919],{},"true",[905,921,922,923,926],{},"Enable\u002Fdisable all logging globally. When ",[591,924,925],{},"false",", all operations become no-ops",[884,928,929,934,939,942],{},[905,930,931],{},[591,932,933],{},"env",[905,935,936],{},[591,937,938],{},"Partial\u003CEnvironmentContext>",[905,940,941],{},"Auto-detected",[905,943,944],{},"Environment context overrides (see below)",[884,946,947,952,956,961],{},[905,948,949],{},[591,950,951],{},"pretty",[905,953,954],{},[591,955,914],{},[905,957,958,960],{},[591,959,919],{}," in dev",[905,962,963,964],{},"Pretty print with tree formatting. Auto-detected based on ",[591,965,966],{},"NODE_ENV",[884,968,969,974,979,985],{},[905,970,971],{},[591,972,973],{},"dev",[905,975,976],{},[591,977,978],{},"'evlog' | 'nitro' | 'both' | object",[905,980,981,984],{},[591,982,983],{},"'evlog'"," in pretty dev",[905,986,987,988,991,992],{},"Dev terminal presets or ",[591,989,990],{},"{ frameworkOverlay, prettyError }",", see ",[993,994,996],"a",{"href":995},"#tune-the-dev-terminal-output","Tune the dev terminal output",[884,998,999,1004,1008,1012],{},[905,1000,1001],{},[591,1002,1003],{},"silent",[905,1005,1006],{},[591,1007,914],{},[905,1009,1010],{},[591,1011,925],{},[905,1013,1014],{},"Suppress console output. Events are still built, sampled, and passed to drains",[884,1016,1017,1022,1026,1030],{},[905,1018,1019],{},[591,1020,1021],{},"stringify",[905,1023,1024],{},[591,1025,914],{},[905,1027,1028],{},[591,1029,919],{},[905,1031,1032,1033,1035,1036,1038],{},"Emit JSON strings when ",[591,1034,951],{}," is disabled. Set to ",[591,1037,925],{}," for Cloudflare Workers",[884,1040,1041,1046,1051,1056],{},[905,1042,1043],{},[591,1044,1045],{},"minLevel",[905,1047,1048],{},[591,1049,1050],{},"'debug' | 'info' | 'warn' | 'error'",[905,1052,1053],{},[591,1054,1055],{},"'debug'",[905,1057,1058,1059,1062,1063,1066],{},"Minimum severity for the global ",[591,1060,1061],{},"log"," API only (not ",[591,1064,1065],{},"createLogger"," \u002F request wide events). Order: debug \u003C info \u003C warn \u003C error",[884,1068,1069,1074,1079,1084],{},[905,1070,1071],{},[591,1072,1073],{},"sampling",[905,1075,1076],{},[591,1077,1078],{},"SamplingConfig",[905,1080,1081],{},[591,1082,1083],{},"undefined",[905,1085,1086,1087],{},"Head and tail sampling configuration. See ",[993,1088,61],{"href":62},[884,1090,1091,1096,1101,1106],{},[905,1092,1093],{},[591,1094,1095],{},"redact",[905,1097,1098],{},[591,1099,1100],{},"boolean | RedactConfig",[905,1102,1103,1105],{},[591,1104,919],{}," in production",[905,1107,1108,1109,1111,1112],{},"Enabled by default in production. ",[591,1110,925],{}," to disable. Object for fine-grained control. See ",[993,1113,66],{"href":67},[884,1115,1116,1121,1126,1130],{},[905,1117,1118],{},[591,1119,1120],{},"drain",[905,1122,1123],{},[591,1124,1125],{},"(ctx: DrainContext) => void",[905,1127,1128],{},[591,1129,1083],{},[905,1131,1132],{},"Drain callback for sending events to external services",[573,1134,1135,1138,1139,1141,1142,1145,1146,1149,1150,1153,1154,1157,1158,1161,1162,1165],{},[591,1136,1137],{},"RedactConfig"," fields (when ",[591,1140,1095],{}," is an object): ",[591,1143,1144],{},"paths"," (dot-notation with globs), ",[591,1147,1148],{},"patterns"," (regex on string values), ",[591,1151,1152],{},"builtins",", ",[591,1155,1156],{},"replacement"," (string, or a function computing it from the matched value), ",[591,1159,1160],{},"transform"," (hook for conditional policies). Full table in ",[993,1163,66],{"href":1164},"\u002Flearn\u002Fredaction#configuration-reference",".",[1167,1168,1170,1172],"h3",{"id":1169},"minlevel-vs-sampling",[591,1171,1045],{}," vs sampling",[1174,1175,1176,1214],"ul",{},[1177,1178,1179,1183,1184,1187,1188,1191,1192,1195,1196,1199,1200,1203,1204,1209,1210,1213],"li",{},[577,1180,1181],{},[591,1182,1045],{}," is a ",[577,1185,1186],{},"hard threshold"," on the simple ",[591,1189,1190],{},"log.*"," API: levels below the threshold are never emitted. It does ",[577,1193,1194],{},"not"," apply to wide events from ",[591,1197,1198],{},"useLogger"," \u002F ",[591,1201,1202],{},"createLogger().emit()",", use ",[577,1205,1206],{},[591,1207,1208],{},"sampling.rates"," (and tail ",[591,1211,1212],{},"keep",") for request volume.",[1177,1215,1216,1219,1220,1222,1223,1226,1227,1229],{},[577,1217,1218],{},"Head sampling"," (",[591,1221,1208],{},") is ",[577,1224,1225],{},"probabilistic"," on what is already allowed by ",[591,1228,1045],{}," for simple logs.",[573,1231,1232,1233,1199,1236,1239,1240,1242,1243,1245],{},"Evaluation order for ",[591,1234,1235],{},"log.info",[591,1237,1238],{},"log.debug"," \u002F etc.: ",[591,1241,909],{}," → ",[591,1244,1045],{}," → head sampling → output.",[1167,1247,996],{"id":1248},"tune-the-dev-terminal-output",[573,1250,1251,1252,1255],{},"Pretty error blocks run only when ",[591,1253,1254],{},"pretty: true"," (default in development). Production always emits JSON wide events, with no stack snippets and no disk reads.",[573,1257,1258,1259,1261,1262,1265],{},"Use ",[591,1260,973],{}," to control ",[577,1263,1264],{},"two independent axes",": whether Nitro's Youch overlay runs, and how much stack detail evlog prints inside the wide event.",[573,1267,1268,1271],{},[577,1269,1270],{},"Presets"," (recommended):",[878,1273,1274,1287],{},[881,1275,1276],{},[884,1277,1278,1281,1284],{},[887,1279,1280],{},"Preset",[887,1282,1283],{},"Nitro overlay",[887,1285,1286],{},"evlog error block",[900,1288,1289,1302,1315],{},[884,1290,1291,1296,1299],{},[905,1292,1293,1295],{},[591,1294,983],{}," (default in pretty dev)",[905,1297,1298],{},"Off",[905,1300,1301],{},"Full — location, snippet, stack tail, Why\u002FFix",[884,1303,1304,1309,1312],{},[905,1305,1306],{},[591,1307,1308],{},"'nitro'",[905,1310,1311],{},"On",[905,1313,1314],{},"Guidance only — message + Why\u002FFix\u002Flink (stack from Nitro)",[884,1316,1317,1322,1324],{},[905,1318,1319],{},[591,1320,1321],{},"'both'",[905,1323,1311],{},[905,1325,1326],{},"Full — evlog block + Nitro overlay (debug)",[603,1328,1331],{"className":605,"code":1329,"filename":1330,"language":608,"meta":609,"style":609},"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",[591,1332,1333,1348,1369,1379,1390,1409,1414],{"__ignoreMap":609},[613,1334,1335,1338,1341,1344,1346],{"class":615,"line":616},[613,1336,1337],{"class":619},"export",[613,1339,1340],{"class":619}," default",[613,1342,1343],{"class":678}," defineNuxtConfig",[613,1345,681],{"class":627},[613,1347,684],{"class":623},[613,1349,1350,1353,1355,1357,1359,1362,1364,1367],{"class":615,"line":647},[613,1351,1352],{"class":690},"  modules",[613,1354,694],{"class":623},[613,1356,833],{"class":627},[613,1358,724],{"class":623},[613,1360,1361],{"class":640},"evlog\u002Fnuxt",[613,1363,724],{"class":623},[613,1365,1366],{"class":627},"]",[613,1368,701],{"class":623},[613,1370,1371,1374,1376],{"class":615,"line":668},[613,1372,1373],{"class":690},"  evlog",[613,1375,694],{"class":623},[613,1377,1378],{"class":623}," {\n",[613,1380,1381,1384,1386,1388],{"class":615,"line":675},[613,1382,1383],{"class":690},"    pretty",[613,1385,694],{"class":623},[613,1387,698],{"class":697},[613,1389,701],{"class":623},[613,1391,1392,1395,1397,1399,1401,1403,1405],{"class":615,"line":687},[613,1393,1394],{"class":690},"    dev",[613,1396,694],{"class":623},[613,1398,637],{"class":623},[613,1400,641],{"class":640},[613,1402,724],{"class":623},[613,1404,727],{"class":623},[613,1406,1408],{"class":1407},"sHwdD"," \u002F\u002F or 'nitro' | 'both'\n",[613,1410,1411],{"class":615,"line":704},[613,1412,1413],{"class":623},"  },\n",[613,1415,1416,1418],{"class":615,"line":745},[613,1417,873],{"class":623},[613,1419,876],{"class":627},[573,1421,1422,1425],{},[577,1423,1424],{},"Explicit object"," (fine-grained):",[603,1427,1429],{"className":605,"code":1428,"filename":1330,"language":608,"meta":609,"style":609},"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",[591,1430,1431,1440,1449,1460,1469,1480,1492,1503,1522,1527,1531],{"__ignoreMap":609},[613,1432,1433,1436,1438],{"class":615,"line":616},[613,1434,641],{"class":1435},"sBMFI",[613,1437,694],{"class":623},[613,1439,1378],{"class":623},[613,1441,1442,1445,1447],{"class":615,"line":647},[613,1443,1444],{"class":1435},"  dev",[613,1446,694],{"class":623},[613,1448,1378],{"class":623},[613,1450,1451,1454,1456,1458],{"class":615,"line":668},[613,1452,1453],{"class":1435},"    frameworkOverlay",[613,1455,694],{"class":623},[613,1457,698],{"class":697},[613,1459,701],{"class":623},[613,1461,1462,1465,1467],{"class":615,"line":675},[613,1463,1464],{"class":1435},"    prettyError",[613,1466,694],{"class":623},[613,1468,1378],{"class":623},[613,1470,1471,1474,1476,1478],{"class":615,"line":687},[613,1472,1473],{"class":1435},"      snippet",[613,1475,694],{"class":623},[613,1477,753],{"class":697},[613,1479,701],{"class":623},[613,1481,1482,1485,1487,1490],{"class":615,"line":704},[613,1483,1484],{"class":1435},"      stackDepth",[613,1486,694],{"class":623},[613,1488,1489],{"class":821}," 0",[613,1491,701],{"class":623},[613,1493,1494,1497,1499,1501],{"class":615,"line":745},[613,1495,1496],{"class":1435},"      compact",[613,1498,694],{"class":623},[613,1500,698],{"class":697},[613,1502,701],{"class":623},[613,1504,1505,1508,1510,1512,1515,1517,1519],{"class":615,"line":758},[613,1506,1507],{"class":1435},"      detail",[613,1509,694],{"class":623},[613,1511,637],{"class":623},[613,1513,1514],{"class":640},"guidance",[613,1516,724],{"class":623},[613,1518,727],{"class":623},[613,1520,1521],{"class":1407}," \u002F\u002F 'full' | 'guidance'\n",[613,1523,1524],{"class":615,"line":770},[613,1525,1526],{"class":623},"    },\n",[613,1528,1529],{"class":615,"line":782},[613,1530,1413],{"class":623},[613,1532,1533],{"class":615,"line":799},[613,1534,1535],{"class":623},"}\n",[573,1537,1538,1539,1543],{},"See ",[993,1540,1542],{"href":1541},"\u002Flearn\u002Fstructured-errors#development-terminal-output","Development terminal output"," in Structured Errors for an example of the pretty error tree.",[1167,1545,1547],{"id":1546},"stamp-the-environment-on-every-event","Stamp the environment on every event",[573,1549,1550,1551,1553],{},"The ",[591,1552,933],{}," 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.",[878,1555,1556,1570],{},[881,1557,1558],{},[884,1559,1560,1563,1565,1567],{},[887,1561,1562],{},"Field",[887,1564,892],{},[887,1566,895],{},[887,1568,1569],{},"Auto-detected from",[900,1571,1572,1594,1614,1634,1663],{},[884,1573,1574,1579,1584,1589],{},[905,1575,1576],{},[591,1577,1578],{},"service",[905,1580,1581],{},[591,1582,1583],{},"string",[905,1585,1586],{},[591,1587,1588],{},"'app'",[905,1590,1591],{},[591,1592,1593],{},"SERVICE_NAME",[884,1595,1596,1601,1605,1610],{},[905,1597,1598],{},[591,1599,1600],{},"environment",[905,1602,1603],{},[591,1604,1583],{},[905,1606,1607],{},[591,1608,1609],{},"'development'",[905,1611,1612],{},[591,1613,966],{},[884,1615,1616,1621,1625,1629],{},[905,1617,1618],{},[591,1619,1620],{},"version",[905,1622,1623],{},[591,1624,1583],{},[905,1626,1627],{},[591,1628,1083],{},[905,1630,1631],{},[591,1632,1633],{},"APP_VERSION",[884,1635,1636,1641,1645,1649],{},[905,1637,1638],{},[591,1639,1640],{},"commitHash",[905,1642,1643],{},[591,1644,1583],{},[905,1646,1647],{},[591,1648,1083],{},[905,1650,1651,1153,1654,1153,1657,1153,1660],{},[591,1652,1653],{},"COMMIT_SHA",[591,1655,1656],{},"GITHUB_SHA",[591,1658,1659],{},"VERCEL_GIT_COMMIT_SHA",[591,1661,1662],{},"CF_PAGES_COMMIT_SHA",[884,1664,1665,1670,1674,1678],{},[905,1666,1667],{},[591,1668,1669],{},"region",[905,1671,1672],{},[591,1673,1583],{},[905,1675,1676],{},[591,1677,1083],{},[905,1679,1680,1153,1683,1153,1686,1153,1689],{},[591,1681,1682],{},"VERCEL_REGION",[591,1684,1685],{},"AWS_REGION",[591,1687,1688],{},"FLY_REGION",[591,1690,1691],{},"CF_REGION",[1167,1693,1695],{"id":1694},"silence-the-terminal","Silence the terminal",[573,1697,1258,1698,1700],{},[591,1699,1003],{}," 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.",[603,1702,1704],{"className":605,"code":1703,"filename":607,"language":608,"meta":609,"style":609},"import { initLogger } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitLogger({\n  silent: process.env.NODE_ENV === 'production',\n  drain: createAxiomDrain(),\n})\n",[591,1705,1706,1724,1742,1746,1754,1783,1795],{"__ignoreMap":609},[613,1707,1708,1710,1712,1714,1716,1718,1720,1722],{"class":615,"line":616},[613,1709,620],{"class":619},[613,1711,624],{"class":623},[613,1713,628],{"class":627},[613,1715,631],{"class":623},[613,1717,634],{"class":619},[613,1719,637],{"class":623},[613,1721,641],{"class":640},[613,1723,644],{"class":623},[613,1725,1726,1728,1730,1732,1734,1736,1738,1740],{"class":615,"line":647},[613,1727,620],{"class":619},[613,1729,624],{"class":623},[613,1731,654],{"class":627},[613,1733,631],{"class":623},[613,1735,634],{"class":619},[613,1737,637],{"class":623},[613,1739,663],{"class":640},[613,1741,644],{"class":623},[613,1743,1744],{"class":615,"line":668},[613,1745,672],{"emptyLinePlaceholder":671},[613,1747,1748,1750,1752],{"class":615,"line":675},[613,1749,593],{"class":678},[613,1751,681],{"class":627},[613,1753,684],{"class":623},[613,1755,1756,1758,1760,1763,1765,1767,1769,1772,1775,1777,1779,1781],{"class":615,"line":687},[613,1757,761],{"class":690},[613,1759,694],{"class":623},[613,1761,1762],{"class":627}," process",[613,1764,1165],{"class":623},[613,1766,933],{"class":627},[613,1768,1165],{"class":623},[613,1770,1771],{"class":627},"NODE_ENV ",[613,1773,1774],{"class":623},"===",[613,1776,637],{"class":623},[613,1778,737],{"class":640},[613,1780,724],{"class":623},[613,1782,701],{"class":623},[613,1784,1785,1787,1789,1791,1793],{"class":615,"line":704},[613,1786,858],{"class":690},[613,1788,694],{"class":623},[613,1790,654],{"class":678},[613,1792,865],{"class":627},[613,1794,701],{"class":623},[613,1796,1797,1799],{"class":615,"line":745},[613,1798,873],{"class":623},[613,1800,876],{"class":627},[1802,1803,1806,1807,1809],"callout",{"color":1804,"icon":1805},"warning","i-lucide-alert-triangle","If ",[591,1808,1003],{}," is enabled without a drain, events are built and sampled but never output anywhere, which evlog warns about at startup.",[586,1811,1813],{"id":1812},"middleware-options","Middleware options",[573,1815,1816],{},"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.",[1818,1819,1820,2117,2311,2408],"code-group",{},[603,1821,1823],{"className":605,"code":1822,"filename":240,"language":608,"meta":609,"style":609},"\u002F\u002F lib\u002Fevlog.ts\nimport { createEvlog } from 'evlog\u002Fnext'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\nexport const { withEvlog, useLogger, log, createError } = createEvlog({\n  service: 'my-app',\n  include: ['\u002Fapi\u002F**'],\n  exclude: ['\u002Fapi\u002Fhealth'],\n  routes: { '\u002Fapi\u002Fauth\u002F**': { service: 'auth' } },\n  drain: createAxiomDrain(),\n  enrich: (ctx) => { ctx.event.region = process.env.FLY_REGION },\n  keep: (ctx) => { if (ctx.duration > 2000) ctx.shouldKeep = true },\n})\n",[591,1824,1825,1830,1850,1868,1872,1911,1927,1947,1967,2002,2014,2060,2111],{"__ignoreMap":609},[613,1826,1827],{"class":615,"line":616},[613,1828,1829],{"class":1407},"\u002F\u002F lib\u002Fevlog.ts\n",[613,1831,1832,1834,1836,1839,1841,1843,1845,1848],{"class":615,"line":647},[613,1833,620],{"class":619},[613,1835,624],{"class":623},[613,1837,1838],{"class":627}," createEvlog",[613,1840,631],{"class":623},[613,1842,634],{"class":619},[613,1844,637],{"class":623},[613,1846,1847],{"class":640},"evlog\u002Fnext",[613,1849,644],{"class":623},[613,1851,1852,1854,1856,1858,1860,1862,1864,1866],{"class":615,"line":668},[613,1853,620],{"class":619},[613,1855,624],{"class":623},[613,1857,654],{"class":627},[613,1859,631],{"class":623},[613,1861,634],{"class":619},[613,1863,637],{"class":623},[613,1865,663],{"class":640},[613,1867,644],{"class":623},[613,1869,1870],{"class":615,"line":675},[613,1871,672],{"emptyLinePlaceholder":671},[613,1873,1874,1876,1880,1882,1885,1887,1890,1892,1895,1897,1900,1902,1905,1907,1909],{"class":615,"line":687},[613,1875,1337],{"class":619},[613,1877,1879],{"class":1878},"spNyl"," const",[613,1881,624],{"class":623},[613,1883,1884],{"class":627}," withEvlog",[613,1886,727],{"class":623},[613,1888,1889],{"class":627}," useLogger",[613,1891,727],{"class":623},[613,1893,1894],{"class":627}," log",[613,1896,727],{"class":623},[613,1898,1899],{"class":627}," createError ",[613,1901,873],{"class":623},[613,1903,1904],{"class":623}," =",[613,1906,1838],{"class":678},[613,1908,681],{"class":627},[613,1910,684],{"class":623},[613,1912,1913,1916,1918,1920,1923,1925],{"class":615,"line":704},[613,1914,1915],{"class":690},"  service",[613,1917,694],{"class":623},[613,1919,637],{"class":623},[613,1921,1922],{"class":640},"my-app",[613,1924,724],{"class":623},[613,1926,701],{"class":623},[613,1928,1929,1932,1934,1936,1938,1941,1943,1945],{"class":615,"line":745},[613,1930,1931],{"class":690},"  include",[613,1933,694],{"class":623},[613,1935,833],{"class":627},[613,1937,724],{"class":623},[613,1939,1940],{"class":640},"\u002Fapi\u002F**",[613,1942,724],{"class":623},[613,1944,1366],{"class":627},[613,1946,701],{"class":623},[613,1948,1949,1952,1954,1956,1958,1961,1963,1965],{"class":615,"line":758},[613,1950,1951],{"class":690},"  exclude",[613,1953,694],{"class":623},[613,1955,833],{"class":627},[613,1957,724],{"class":623},[613,1959,1960],{"class":640},"\u002Fapi\u002Fhealth",[613,1962,724],{"class":623},[613,1964,1366],{"class":627},[613,1966,701],{"class":623},[613,1968,1969,1972,1974,1976,1978,1981,1983,1985,1987,1989,1991,1993,1996,1998,2000],{"class":615,"line":770},[613,1970,1971],{"class":690},"  routes",[613,1973,694],{"class":623},[613,1975,624],{"class":623},[613,1977,637],{"class":623},[613,1979,1980],{"class":690},"\u002Fapi\u002Fauth\u002F**",[613,1982,724],{"class":623},[613,1984,694],{"class":623},[613,1986,624],{"class":623},[613,1988,714],{"class":690},[613,1990,694],{"class":623},[613,1992,637],{"class":623},[613,1994,1995],{"class":640},"auth",[613,1997,724],{"class":623},[613,1999,631],{"class":623},[613,2001,742],{"class":623},[613,2003,2004,2006,2008,2010,2012],{"class":615,"line":782},[613,2005,858],{"class":690},[613,2007,694],{"class":623},[613,2009,654],{"class":678},[613,2011,865],{"class":627},[613,2013,701],{"class":623},[613,2015,2016,2019,2021,2023,2027,2029,2032,2034,2037,2039,2042,2044,2046,2048,2050,2052,2054,2056,2058],{"class":615,"line":799},[613,2017,2018],{"class":678},"  enrich",[613,2020,694],{"class":623},[613,2022,1219],{"class":623},[613,2024,2026],{"class":2025},"sHdIc","ctx",[613,2028,594],{"class":623},[613,2030,2031],{"class":1878}," =>",[613,2033,624],{"class":623},[613,2035,2036],{"class":627}," ctx",[613,2038,1165],{"class":623},[613,2040,2041],{"class":627},"event",[613,2043,1165],{"class":623},[613,2045,1669],{"class":627},[613,2047,1904],{"class":623},[613,2049,1762],{"class":627},[613,2051,1165],{"class":623},[613,2053,933],{"class":627},[613,2055,1165],{"class":623},[613,2057,1688],{"class":627},[613,2059,742],{"class":623},[613,2061,2062,2065,2067,2069,2071,2073,2075,2077,2080,2082,2084,2086,2089,2092,2095,2098,2100,2102,2105,2107,2109],{"class":615,"line":855},[613,2063,2064],{"class":678},"  keep",[613,2066,694],{"class":623},[613,2068,1219],{"class":623},[613,2070,2026],{"class":2025},[613,2072,594],{"class":623},[613,2074,2031],{"class":1878},[613,2076,624],{"class":623},[613,2078,2079],{"class":619}," if",[613,2081,1219],{"class":690},[613,2083,2026],{"class":627},[613,2085,1165],{"class":623},[613,2087,2088],{"class":627},"duration",[613,2090,2091],{"class":623}," >",[613,2093,2094],{"class":821}," 2000",[613,2096,2097],{"class":690},") ",[613,2099,2026],{"class":627},[613,2101,1165],{"class":623},[613,2103,2104],{"class":627},"shouldKeep",[613,2106,1904],{"class":623},[613,2108,698],{"class":697},[613,2110,742],{"class":623},[613,2112,2113,2115],{"class":615,"line":870},[613,2114,873],{"class":623},[613,2116,876],{"class":627},[603,2118,2120],{"className":605,"code":2119,"filename":270,"language":608,"meta":609,"style":609},"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",[591,2121,2122,2140,2158,2176,2208,2220,2260,2304],{"__ignoreMap":609},[613,2123,2124,2127,2129,2132,2134,2136,2138],{"class":615,"line":616},[613,2125,2126],{"class":627},"app",[613,2128,1165],{"class":623},[613,2130,2131],{"class":678},"use",[613,2133,681],{"class":627},[613,2135,641],{"class":678},[613,2137,681],{"class":627},[613,2139,684],{"class":623},[613,2141,2142,2144,2146,2148,2150,2152,2154,2156],{"class":615,"line":647},[613,2143,1931],{"class":690},[613,2145,694],{"class":623},[613,2147,833],{"class":627},[613,2149,724],{"class":623},[613,2151,1940],{"class":640},[613,2153,724],{"class":623},[613,2155,1366],{"class":627},[613,2157,701],{"class":623},[613,2159,2160,2162,2164,2166,2168,2170,2172,2174],{"class":615,"line":668},[613,2161,1951],{"class":690},[613,2163,694],{"class":623},[613,2165,833],{"class":627},[613,2167,724],{"class":623},[613,2169,1960],{"class":640},[613,2171,724],{"class":623},[613,2173,1366],{"class":627},[613,2175,701],{"class":623},[613,2177,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206],{"class":615,"line":675},[613,2179,1971],{"class":690},[613,2181,694],{"class":623},[613,2183,624],{"class":623},[613,2185,637],{"class":623},[613,2187,1980],{"class":690},[613,2189,724],{"class":623},[613,2191,694],{"class":623},[613,2193,624],{"class":623},[613,2195,714],{"class":690},[613,2197,694],{"class":623},[613,2199,637],{"class":623},[613,2201,1995],{"class":640},[613,2203,724],{"class":623},[613,2205,631],{"class":623},[613,2207,742],{"class":623},[613,2209,2210,2212,2214,2216,2218],{"class":615,"line":687},[613,2211,858],{"class":690},[613,2213,694],{"class":623},[613,2215,654],{"class":678},[613,2217,865],{"class":627},[613,2219,701],{"class":623},[613,2221,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258],{"class":615,"line":704},[613,2223,2018],{"class":678},[613,2225,694],{"class":623},[613,2227,1219],{"class":623},[613,2229,2026],{"class":2025},[613,2231,594],{"class":623},[613,2233,2031],{"class":1878},[613,2235,624],{"class":623},[613,2237,2036],{"class":627},[613,2239,1165],{"class":623},[613,2241,2041],{"class":627},[613,2243,1165],{"class":623},[613,2245,1669],{"class":627},[613,2247,1904],{"class":623},[613,2249,1762],{"class":627},[613,2251,1165],{"class":623},[613,2253,933],{"class":627},[613,2255,1165],{"class":623},[613,2257,1688],{"class":627},[613,2259,742],{"class":623},[613,2261,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302],{"class":615,"line":745},[613,2263,2064],{"class":678},[613,2265,694],{"class":623},[613,2267,1219],{"class":623},[613,2269,2026],{"class":2025},[613,2271,594],{"class":623},[613,2273,2031],{"class":1878},[613,2275,624],{"class":623},[613,2277,2079],{"class":619},[613,2279,1219],{"class":690},[613,2281,2026],{"class":627},[613,2283,1165],{"class":623},[613,2285,2088],{"class":627},[613,2287,2091],{"class":623},[613,2289,2094],{"class":821},[613,2291,2097],{"class":690},[613,2293,2026],{"class":627},[613,2295,1165],{"class":623},[613,2297,2104],{"class":627},[613,2299,1904],{"class":623},[613,2301,698],{"class":697},[613,2303,742],{"class":623},[613,2305,2306,2308],{"class":615,"line":758},[613,2307,873],{"class":623},[613,2309,2310],{"class":627},"))\n",[603,2312,2314],{"className":605,"code":2313,"filename":265,"language":608,"meta":609,"style":609},"app.use(evlog({\n  include: ['\u002Fapi\u002F**'],\n  drain: createAxiomDrain(),\n  enrich: (ctx) => { ctx.event.region = process.env.FLY_REGION },\n}))\n",[591,2315,2316,2332,2350,2362,2402],{"__ignoreMap":609},[613,2317,2318,2320,2322,2324,2326,2328,2330],{"class":615,"line":616},[613,2319,2126],{"class":627},[613,2321,1165],{"class":623},[613,2323,2131],{"class":678},[613,2325,681],{"class":627},[613,2327,641],{"class":678},[613,2329,681],{"class":627},[613,2331,684],{"class":623},[613,2333,2334,2336,2338,2340,2342,2344,2346,2348],{"class":615,"line":647},[613,2335,1931],{"class":690},[613,2337,694],{"class":623},[613,2339,833],{"class":627},[613,2341,724],{"class":623},[613,2343,1940],{"class":640},[613,2345,724],{"class":623},[613,2347,1366],{"class":627},[613,2349,701],{"class":623},[613,2351,2352,2354,2356,2358,2360],{"class":615,"line":668},[613,2353,858],{"class":690},[613,2355,694],{"class":623},[613,2357,654],{"class":678},[613,2359,865],{"class":627},[613,2361,701],{"class":623},[613,2363,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400],{"class":615,"line":675},[613,2365,2018],{"class":678},[613,2367,694],{"class":623},[613,2369,1219],{"class":623},[613,2371,2026],{"class":2025},[613,2373,594],{"class":623},[613,2375,2031],{"class":1878},[613,2377,624],{"class":623},[613,2379,2036],{"class":627},[613,2381,1165],{"class":623},[613,2383,2041],{"class":627},[613,2385,1165],{"class":623},[613,2387,1669],{"class":627},[613,2389,1904],{"class":623},[613,2391,1762],{"class":627},[613,2393,1165],{"class":623},[613,2395,933],{"class":627},[613,2397,1165],{"class":623},[613,2399,1688],{"class":627},[613,2401,742],{"class":623},[613,2403,2404,2406],{"class":615,"line":687},[613,2405,873],{"class":623},[613,2407,2310],{"class":627},[603,2409,2411],{"className":605,"code":2410,"filename":275,"language":608,"meta":609,"style":609},"await app.register(evlog, {\n  include: ['\u002Fapi\u002F**'],\n  drain: createAxiomDrain(),\n})\n",[591,2412,2413,2433,2451,2463],{"__ignoreMap":609},[613,2414,2415,2418,2421,2423,2426,2429,2431],{"class":615,"line":616},[613,2416,2417],{"class":619},"await",[613,2419,2420],{"class":627}," app",[613,2422,1165],{"class":623},[613,2424,2425],{"class":678},"register",[613,2427,2428],{"class":627},"(evlog",[613,2430,727],{"class":623},[613,2432,1378],{"class":623},[613,2434,2435,2437,2439,2441,2443,2445,2447,2449],{"class":615,"line":647},[613,2436,1931],{"class":690},[613,2438,694],{"class":623},[613,2440,833],{"class":627},[613,2442,724],{"class":623},[613,2444,1940],{"class":640},[613,2446,724],{"class":623},[613,2448,1366],{"class":627},[613,2450,701],{"class":623},[613,2452,2453,2455,2457,2459,2461],{"class":615,"line":668},[613,2454,858],{"class":690},[613,2456,694],{"class":623},[613,2458,654],{"class":678},[613,2460,865],{"class":627},[613,2462,701],{"class":623},[613,2464,2465,2467],{"class":615,"line":675},[613,2466,873],{"class":623},[613,2468,876],{"class":627},[878,2470,2471,2483],{},[881,2472,2473],{},[884,2474,2475,2477,2479,2481],{},[887,2476,889],{},[887,2478,892],{},[887,2480,895],{},[887,2482,898],{},[900,2484,2485,2504,2522,2541,2558,2577],{},[884,2486,2487,2492,2497,2501],{},[905,2488,2489],{},[591,2490,2491],{},"include",[905,2493,2494],{},[591,2495,2496],{},"string[]",[905,2498,2499],{},[591,2500,1083],{},[905,2502,2503],{},"Route glob patterns to log. If not set, all routes are logged",[884,2505,2506,2511,2515,2519],{},[905,2507,2508],{},[591,2509,2510],{},"exclude",[905,2512,2513],{},[591,2514,2496],{},[905,2516,2517],{},[591,2518,1083],{},[905,2520,2521],{},"Route patterns to exclude. Exclusions take precedence over inclusions",[884,2523,2524,2529,2534,2538],{},[905,2525,2526],{},[591,2527,2528],{},"routes",[905,2530,2531],{},[591,2532,2533],{},"Record\u003Cstring, { service: string }>",[905,2535,2536],{},[591,2537,1083],{},[905,2539,2540],{},"Route-specific service name overrides",[884,2542,2543,2547,2551,2555],{},[905,2544,2545],{},[591,2546,1120],{},[905,2548,2549],{},[591,2550,1125],{},[905,2552,2553],{},[591,2554,1083],{},[905,2556,2557],{},"Drain callback called with every emitted event",[884,2559,2560,2565,2570,2574],{},[905,2561,2562],{},[591,2563,2564],{},"enrich",[905,2566,2567],{},[591,2568,2569],{},"(ctx: EnrichContext) => void",[905,2571,2572],{},[591,2573,1083],{},[905,2575,2576],{},"Enrich callback called after emit, before drain",[884,2578,2579,2583,2588,2592],{},[905,2580,2581],{},[591,2582,1212],{},[905,2584,2585],{},[591,2586,2587],{},"(ctx: TailSamplingContext) => void",[905,2589,2590],{},[591,2591,1083],{},[905,2593,2594],{},"Custom tail sampling callback",[1802,2596,2597,2600,2601,1153,2604,1153,2607,2610,2611,2613,2614,2616],{"color":792,"icon":13},[577,2598,2599],{},"Nuxt and Nitro"," use module config and Nitro hooks (",[591,2602,2603],{},"evlog:drain",[591,2605,2606],{},"evlog:enrich",[591,2608,2609],{},"evlog:emit:keep",") instead of middleware options. See the ",[993,2612,235],{"href":236}," and ",[993,2615,250],{"href":251}," pages.",[1167,2618,2620],{"id":2619},"middleware-drain-vs-global-drain","Middleware drain vs global drain",[573,2622,2623,2624,2626,2627,2629],{},"When a middleware ",[591,2625,1120],{}," is set, it takes precedence over the global drain from ",[591,2628,600],{},". 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).",[603,2631,2633],{"className":605,"code":2632,"filename":607,"language":608,"meta":609,"style":609},"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",[591,2634,2635,2653,2671,2675,2683,2703,2718,2724,2728,2744,2749],{"__ignoreMap":609},[613,2636,2637,2639,2641,2643,2645,2647,2649,2651],{"class":615,"line":616},[613,2638,620],{"class":619},[613,2640,624],{"class":623},[613,2642,628],{"class":627},[613,2644,631],{"class":623},[613,2646,634],{"class":619},[613,2648,637],{"class":623},[613,2650,641],{"class":640},[613,2652,644],{"class":623},[613,2654,2655,2657,2659,2661,2663,2665,2667,2669],{"class":615,"line":647},[613,2656,620],{"class":619},[613,2658,624],{"class":623},[613,2660,654],{"class":627},[613,2662,631],{"class":623},[613,2664,634],{"class":619},[613,2666,637],{"class":623},[613,2668,663],{"class":640},[613,2670,644],{"class":623},[613,2672,2673],{"class":615,"line":668},[613,2674,672],{"emptyLinePlaceholder":671},[613,2676,2677,2679,2681],{"class":615,"line":675},[613,2678,593],{"class":678},[613,2680,681],{"class":627},[613,2682,684],{"class":623},[613,2684,2685,2687,2689,2691,2693,2695,2697,2699,2701],{"class":615,"line":687},[613,2686,707],{"class":690},[613,2688,694],{"class":623},[613,2690,624],{"class":623},[613,2692,714],{"class":690},[613,2694,694],{"class":623},[613,2696,637],{"class":623},[613,2698,721],{"class":640},[613,2700,724],{"class":623},[613,2702,742],{"class":623},[613,2704,2705,2707,2709,2711,2713,2715],{"class":615,"line":704},[613,2706,858],{"class":690},[613,2708,694],{"class":623},[613,2710,654],{"class":678},[613,2712,865],{"class":627},[613,2714,727],{"class":623},[613,2716,2717],{"class":1407}," \u002F\u002F fallback: used by singleton log API AND middleware (if no middleware drain)\n",[613,2719,2720,2722],{"class":615,"line":745},[613,2721,873],{"class":623},[613,2723,876],{"class":627},[613,2725,2726],{"class":615,"line":758},[613,2727,672],{"emptyLinePlaceholder":671},[613,2729,2730,2732,2734,2736,2738,2740,2742],{"class":615,"line":770},[613,2731,2126],{"class":627},[613,2733,1165],{"class":623},[613,2735,2131],{"class":678},[613,2737,681],{"class":627},[613,2739,641],{"class":678},[613,2741,681],{"class":627},[613,2743,684],{"class":623},[613,2745,2746],{"class":615,"line":782},[613,2747,2748],{"class":1407},"  \u002F\u002F no drain here - falls back to globalDrain from initLogger, with full request context\n",[613,2750,2751,2753],{"class":615,"line":799},[613,2752,873],{"class":623},[613,2754,2310],{"class":627},[586,2756,2758],{"id":2757},"framework-specific-options","Framework-specific options",[573,2760,2761],{},"Some frameworks have additional options beyond the shared config:",[1167,2763,235],{"id":2764},"nuxt",[573,2766,2767,2768,2770,2771,2773],{},"The Nuxt module accepts all global options and middleware options in ",[591,2769,1330],{}," under the ",[591,2772,641],{}," key, plus:",[878,2775,2776,2788],{},[881,2777,2778],{},[884,2779,2780,2782,2784,2786],{},[887,2781,889],{},[887,2783,892],{},[887,2785,895],{},[887,2787,898],{},[900,2789,2790,2808,2826,2845],{},[884,2791,2792,2797,2801,2805],{},[905,2793,2794],{},[591,2795,2796],{},"console",[905,2798,2799],{},[591,2800,914],{},[905,2802,2803],{},[591,2804,919],{},[905,2806,2807],{},"Enable\u002Fdisable browser console output (client-side only)",[884,2809,2810,2815,2819,2823],{},[905,2811,2812],{},[591,2813,2814],{},"transport.enabled",[905,2816,2817],{},[591,2818,914],{},[905,2820,2821],{},[591,2822,925],{},[905,2824,2825],{},"Send client logs to the server via API endpoint",[884,2827,2828,2833,2837,2842],{},[905,2829,2830],{},[591,2831,2832],{},"transport.endpoint",[905,2834,2835],{},[591,2836,1583],{},[905,2838,2839],{},[591,2840,2841],{},"'\u002Fapi\u002F_evlog\u002Fingest'",[905,2843,2844],{},"Custom transport endpoint",[884,2846,2847,2852,2857,2862],{},[905,2848,2849],{},[591,2850,2851],{},"transport.credentials",[905,2853,2854],{},[591,2855,2856],{},"RequestCredentials",[905,2858,2859],{},[591,2860,2861],{},"'same-origin'",[905,2863,2864,2865,2868],{},"Fetch credentials mode (",[591,2866,2867],{},"'include'"," for cross-origin endpoints)",[573,2870,2871,2872,1165],{},"See the full ",[993,2873,2875],{"href":2874},"\u002Fintegrate\u002Fframeworks\u002Fnuxt#configuration","Nuxt configuration",[1167,2877,250],{"id":2878},"nitro",[573,2880,2881,2882,1153,2884,1153,2886,1153,2888,1153,2890,1153,2892,1153,2894,2896,2897,2899,2900,2903],{},"The Nitro module accepts ",[591,2883,909],{},[591,2885,933],{},[591,2887,951],{},[591,2889,1003],{},[591,2891,1073],{},[591,2893,2491],{},[591,2895,2510],{},", and ",[591,2898,2528],{}," in ",[591,2901,2902],{},"nitro.config.ts",", and leaves drain and enrichment to the Nitro hooks.",[573,2905,1538,2906,1165],{},[993,2907,2909],{"href":2908},"\u002Fintegrate\u002Fframeworks\u002Fnitro#drain--enrichers","Nitro drain & enrichers",[2911,2912,2913],"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":609,"searchDepth":647,"depth":647,"links":2915},[2916,2924,2927],{"id":588,"depth":647,"text":2917,"children":2918},"Global options (initLogger)",[2919,2921,2922,2923],{"id":1169,"depth":668,"text":2920},"minLevel vs sampling",{"id":1248,"depth":668,"text":996},{"id":1546,"depth":668,"text":1547},{"id":1694,"depth":668,"text":1695},{"id":1812,"depth":647,"text":1813,"children":2925},[2926],{"id":2619,"depth":668,"text":2620},{"id":2757,"depth":647,"text":2758,"children":2928},[2929,2930],{"id":2764,"depth":668,"text":235},{"id":2878,"depth":668,"text":250},"Every evlog option is listed here, from global logger settings to the framework overrides that take precedence over them.","md",[2934,2937],{"label":61,"icon":64,"to":62,"color":2935,"variant":2936},"neutral","subtle",{"label":2938,"icon":349,"to":148,"color":2935,"variant":2936},"Drain Adapters",{},{"icon":515},{"title":512,"description":2931},"sdrcKldl-s2jCCEMDjGjL42rGL8aixSk04QnBNFMuUA",[2944,2946],{"title":36,"path":508,"stem":509,"description":2945,"icon":510,"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":378,"path":517,"stem":518,"description":2947,"icon":107,"children":-1},"Inspect evlog benchmark workloads, output settings, and bundle measurements before estimating the cost of your logging configuration.",1788966797408]