[{"data":1,"prerenderedAt":1783},["ShallowReactive",2],{"navigation_docs":3,"-reference-vite-plugin":602,"-reference-vite-plugin-surround":1778},[4,35,85,138,318,479,538,577],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Start","\u002Fstart","1.start",[9,14,19,24,29],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",{"title":30,"path":31,"stem":32,"icon":33},"Choose your logger","\u002Fstart\u002Ftypescript-logging-library","1.start\u002F5.typescript-logging-library","i-lucide-file-code",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Learn","\u002Flearn","2.learn",[40,45,50,55,60,65,70,75,80],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":51,"path":52,"stem":53,"icon":54},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":56,"path":57,"stem":58,"icon":59},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":61,"path":62,"stem":63,"icon":64},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":66,"path":67,"stem":68,"icon":69},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":71,"path":72,"stem":73,"icon":74},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":76,"path":77,"stem":78,"icon":79},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":81,"path":82,"stem":83,"icon":84},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":86,"path":87,"stem":88,"children":89,"page":34},"CLI","\u002Fcli","3.cli",[90,93,98,103,108,113,118,123,128,133],{"title":41,"path":91,"stem":92,"icon":49},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":94,"path":95,"stem":96,"icon":97},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":99,"path":100,"stem":101,"icon":102},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":104,"path":105,"stem":106,"icon":107},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":109,"path":110,"stem":111,"icon":112},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":114,"path":115,"stem":116,"icon":117},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":119,"path":120,"stem":121,"icon":122},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":124,"path":125,"stem":126,"icon":127},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":129,"path":130,"stem":131,"icon":132},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":134,"path":135,"stem":136,"icon":137},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":139,"path":140,"stem":141,"children":142,"page":34},"Integrate","\u002Fintegrate","4.integrate",[143,147,230],{"title":41,"path":144,"stem":145,"icon":146},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":148,"path":149,"stem":150,"children":151,"page":34},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[152,155,185,210],{"title":41,"path":153,"stem":154,"icon":44},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":156,"path":157,"stem":158,"children":159,"page":34},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[160,165,170,175,180],{"title":161,"path":162,"stem":163,"icon":164},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":166,"path":167,"stem":168,"icon":169},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":171,"path":172,"stem":173,"icon":174},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":176,"path":177,"stem":178,"icon":179},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":181,"path":182,"stem":183,"icon":184},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":186,"path":187,"stem":188,"children":189,"page":34},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[190,195,200,205],{"title":191,"path":192,"stem":193,"icon":194},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":196,"path":197,"stem":198,"icon":199},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":201,"path":202,"stem":203,"icon":204},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":206,"path":207,"stem":208,"icon":209},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":211,"path":212,"stem":213,"children":214,"page":34},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[215,220,225],{"title":216,"path":217,"stem":218,"icon":219},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":221,"path":222,"stem":223,"icon":224},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":226,"path":227,"stem":228,"icon":229},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":231,"path":232,"stem":233,"children":234,"page":34},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[235,239,244,249,254,259,264,269,274,279,284,289,294,299,303,308,313],{"title":41,"path":236,"stem":237,"icon":238},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":240,"path":241,"stem":242,"icon":243},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":245,"path":246,"stem":247,"icon":248},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":250,"path":251,"stem":252,"icon":253},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":255,"path":256,"stem":257,"icon":258},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":260,"path":261,"stem":262,"icon":263},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":265,"path":266,"stem":267,"icon":268},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":270,"path":271,"stem":272,"icon":273},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":275,"path":276,"stem":277,"icon":278},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":280,"path":281,"stem":282,"icon":283},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":285,"path":286,"stem":287,"icon":288},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":290,"path":291,"stem":292,"icon":293},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":295,"path":296,"stem":297,"icon":298},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":300,"path":301,"stem":302,"icon":79},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":304,"path":305,"stem":306,"icon":307},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":309,"path":310,"stem":311,"icon":312},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":314,"path":315,"stem":316,"icon":317},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":319,"path":320,"stem":321,"children":322,"page":34},"Use Cases","\u002Fuse-cases","5.use-cases",[323,326,331,359,386,418,439,444,449,453],{"title":41,"path":324,"stem":325,"icon":107},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":327,"path":328,"stem":329,"icon":330},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":332,"icon":333,"path":334,"stem":335,"children":336,"page":34},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[337,340,345,350,355],{"title":41,"path":338,"stem":339,"icon":44},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":341,"path":342,"stem":343,"icon":344},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":346,"path":347,"stem":348,"icon":349},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":351,"path":352,"stem":353,"icon":354},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":356,"path":357,"stem":358,"icon":137},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":360,"icon":361,"path":362,"stem":363,"children":364,"page":34},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[365,368,373,378,382],{"title":41,"path":366,"stem":367,"icon":44},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":369,"path":370,"stem":371,"icon":372},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":374,"path":375,"stem":376,"icon":377},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":379,"path":380,"stem":381,"icon":330},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":383,"path":384,"stem":385,"icon":112},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":387,"icon":388,"path":389,"stem":390,"children":391,"page":34},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[392,395,400,405,410,414],{"title":41,"path":393,"stem":394,"icon":44},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":396,"path":397,"stem":398,"icon":399},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":401,"path":402,"stem":403,"icon":404},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":406,"path":407,"stem":408,"icon":409},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":411,"path":412,"stem":413,"icon":388},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":415,"path":416,"stem":417,"icon":84},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":356,"icon":112,"path":419,"stem":420,"children":421,"page":34},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[422,425,430,435],{"title":41,"path":423,"stem":424,"icon":44},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":426,"path":427,"stem":428,"icon":429},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":431,"path":432,"stem":433,"icon":434},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":436,"path":437,"stem":438,"icon":84},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":440,"path":441,"stem":442,"icon":443},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":445,"path":446,"stem":447,"icon":448},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":450,"path":451,"stem":452,"icon":434},"Node.js request logging","\u002Fuse-cases\u002Fstructured-logging-nodejs","5.use-cases\u002F6.structured-logging-nodejs",{"title":454,"icon":455,"path":456,"stem":457,"children":458,"page":34},"Signals","i-lucide-scan-search","\u002Fuse-cases\u002Fsignals","5.use-cases\u002F7.signals",[459,462,467,472,475],{"title":41,"path":460,"stem":461,"icon":44},"\u002Fuse-cases\u002Fsignals\u002Foverview","5.use-cases\u002F7.signals\u002F01.overview",{"title":463,"path":464,"stem":465,"icon":466},"What You Can Ask","\u002Fuse-cases\u002Fsignals\u002Fask","5.use-cases\u002F7.signals\u002F02.ask","i-lucide-message-circle-question",{"title":468,"path":469,"stem":470,"icon":471},"What It Costs","\u002Fuse-cases\u002Fsignals\u002Fcost","5.use-cases\u002F7.signals\u002F03.cost","i-lucide-coins",{"title":436,"path":473,"stem":474,"icon":84},"\u002Fuse-cases\u002Fsignals\u002Freference","5.use-cases\u002F7.signals\u002F04.reference",{"title":415,"path":476,"stem":477,"icon":478},"\u002Fuse-cases\u002Fsignals\u002Frecipes","5.use-cases\u002F7.signals\u002F05.recipes","i-lucide-lightbulb",{"title":480,"path":481,"stem":482,"children":483,"page":34},"Extend","\u002Fextend","6.extend",[484,488,493,498,502,507,511,515,519,523,528,533],{"title":41,"path":485,"stem":486,"icon":487},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":489,"path":490,"stem":491,"icon":492},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":494,"path":495,"stem":496,"icon":497},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":499,"path":500,"stem":501,"icon":492},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":503,"path":504,"stem":505,"icon":506},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":415,"path":508,"stem":509,"icon":510},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":512,"path":513,"stem":514,"icon":487},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":516,"path":517,"stem":518,"icon":443},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":520,"path":521,"stem":522,"icon":69},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":524,"path":525,"stem":526,"icon":527},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":529,"path":530,"stem":531,"icon":532},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":534,"path":535,"stem":536,"icon":537},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":436,"path":539,"stem":540,"children":541,"page":34},"\u002Freference","7.reference",[542,546,551,554,559,563,568,572],{"title":41,"path":543,"stem":544,"icon":545},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":547,"path":548,"stem":549,"icon":550},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":383,"path":552,"stem":553,"icon":112},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":555,"path":556,"stem":557,"icon":558},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":560,"path":561,"stem":562,"icon":388},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":564,"path":565,"stem":566,"icon":567},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":569,"path":570,"stem":571,"icon":443},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":573,"path":574,"stem":575,"icon":576},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":578,"path":579,"stem":580,"children":581,"page":34},"Compare","\u002Fcompare","8.compare",[582,586,590,594,598],{"title":583,"path":584,"stem":585,"icon":567},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":587,"path":588,"stem":589,"icon":204},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":591,"path":592,"stem":593,"icon":567},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":595,"path":596,"stem":597,"icon":567},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":599,"path":600,"stem":601,"icon":567},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":603,"title":555,"body":604,"description":1765,"extension":1766,"links":1767,"meta":1774,"navigation":1775,"path":556,"seo":1776,"stem":557,"__hash__":1777},"docs\u002F7.reference\u002F3.vite-plugin.md",{"type":605,"value":606,"toc":1748},"minimark",[607,616,637,641,646,717,724,889,892,910,914,917,934,938,978,982,988,1062,1073,1077,1083,1141,1145,1157,1201,1204,1223,1244,1248,1266,1367,1370,1583,1587,1598,1722,1726,1744],[608,609,610,611,615],"p",{},"The ",[612,613,614],"code",{},"evlog\u002Fvite"," plugin adds build-time DX features to any Vite-based project. It works with SvelteKit, Hono, Express, Fastify, Elysia, and any framework using Vite as its build tool.",[617,618,620,624,625,628,629,632,633,636],"callout",{"color":619,"icon":13},"info",[621,622,623],"strong",{},"Nuxt users",": These features are already integrated into the ",[612,626,627],{},"evlog\u002Fnuxt"," module via ",[612,630,631],{},"strip"," and ",[612,634,635],{},"sourceLocation"," options. You don't need to install the Vite plugin separately.",[638,639,25],"h2",{"id":640},"quick-start",[642,643,645],"h3",{"id":644},"_1-install","1. Install",[647,648,649,674,688,702],"code-group",{},[650,651,657],"pre",{"className":652,"code":653,"filename":654,"language":655,"meta":656,"style":656},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add evlog\n","pnpm","bash","",[612,658,659],{"__ignoreMap":656},[660,661,664,667,671],"span",{"class":662,"line":663},"line",1,[660,665,654],{"class":666},"sBMFI",[660,668,670],{"class":669},"sfazB"," add",[660,672,673],{"class":669}," evlog\n",[650,675,678],{"className":652,"code":676,"filename":677,"language":655,"meta":656,"style":656},"bun add evlog\n","bun",[612,679,680],{"__ignoreMap":656},[660,681,682,684,686],{"class":662,"line":663},[660,683,677],{"class":666},[660,685,670],{"class":669},[660,687,673],{"class":669},[650,689,692],{"className":652,"code":690,"filename":691,"language":655,"meta":656,"style":656},"yarn add evlog\n","yarn",[612,693,694],{"__ignoreMap":656},[660,695,696,698,700],{"class":662,"line":663},[660,697,691],{"class":666},[660,699,670],{"class":669},[660,701,673],{"class":669},[650,703,706],{"className":652,"code":704,"filename":705,"language":655,"meta":656,"style":656},"npm install evlog\n","npm",[612,707,708],{"__ignoreMap":656},[660,709,710,712,715],{"class":662,"line":663},[660,711,705],{"class":666},[660,713,714],{"class":669}," install",[660,716,673],{"class":669},[642,718,720,721],{"id":719},"_2-add-to-viteconfigts","2. Add to ",[612,722,723],{},"vite.config.ts",[650,725,729],{"className":726,"code":727,"filename":723,"language":728,"meta":656,"style":656},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineConfig } from 'vite'\nimport evlog from 'evlog\u002Fvite'\n\nexport default defineConfig({\n  plugins: [\n    evlog({\n      service: 'my-api',\n      environment: 'production',\n    }),\n  ],\n})\n","typescript",[612,730,731,760,777,784,802,815,825,844,861,872,880],{"__ignoreMap":656},[660,732,733,737,741,745,748,751,754,757],{"class":662,"line":663},[660,734,736],{"class":735},"s7zQu","import",[660,738,740],{"class":739},"sMK4o"," {",[660,742,744],{"class":743},"sTEyZ"," defineConfig",[660,746,747],{"class":739}," }",[660,749,750],{"class":735}," from",[660,752,753],{"class":739}," '",[660,755,756],{"class":669},"vite",[660,758,759],{"class":739},"'\n",[660,761,763,765,768,771,773,775],{"class":662,"line":762},2,[660,764,736],{"class":735},[660,766,767],{"class":743}," evlog ",[660,769,770],{"class":735},"from",[660,772,753],{"class":739},[660,774,614],{"class":669},[660,776,759],{"class":739},[660,778,780],{"class":662,"line":779},3,[660,781,783],{"emptyLinePlaceholder":782},true,"\n",[660,785,787,790,793,796,799],{"class":662,"line":786},4,[660,788,789],{"class":735},"export",[660,791,792],{"class":735}," default",[660,794,744],{"class":795},"s2Zo4",[660,797,798],{"class":743},"(",[660,800,801],{"class":739},"{\n",[660,803,805,809,812],{"class":662,"line":804},5,[660,806,808],{"class":807},"swJcz","  plugins",[660,810,811],{"class":739},":",[660,813,814],{"class":743}," [\n",[660,816,818,821,823],{"class":662,"line":817},6,[660,819,820],{"class":795},"    evlog",[660,822,798],{"class":743},[660,824,801],{"class":739},[660,826,828,831,833,835,838,841],{"class":662,"line":827},7,[660,829,830],{"class":807},"      service",[660,832,811],{"class":739},[660,834,753],{"class":739},[660,836,837],{"class":669},"my-api",[660,839,840],{"class":739},"'",[660,842,843],{"class":739},",\n",[660,845,847,850,852,854,857,859],{"class":662,"line":846},8,[660,848,849],{"class":807},"      environment",[660,851,811],{"class":739},[660,853,753],{"class":739},[660,855,856],{"class":669},"production",[660,858,840],{"class":739},[660,860,843],{"class":739},[660,862,864,867,870],{"class":662,"line":863},9,[660,865,866],{"class":739},"    }",[660,868,869],{"class":743},")",[660,871,843],{"class":739},[660,873,875,878],{"class":662,"line":874},10,[660,876,877],{"class":743},"  ]",[660,879,843],{"class":739},[660,881,883,886],{"class":662,"line":882},11,[660,884,885],{"class":739},"}",[660,887,888],{"class":743},")\n",[608,890,891],{},"That's it. The plugin automatically:",[893,894,895,903],"ul",{},[896,897,898,899,902],"li",{},"Initializes the logger at compile time (no ",[612,900,901],{},"initLogger()"," call needed)",[896,904,905,906,909],{},"Strips ",[612,907,908],{},"log.debug()"," calls from production builds",[638,911,913],{"id":912},"features","Features",[915,916],"vite-strip-build",{},[608,918,919,920,922,923,926,927,929,930,933],{},"The plugin transforms your source at build time: ",[612,921,908],{}," calls are deleted from the output, ",[612,924,925],{},"__source: 'file:line'"," is injected into object-form log calls, and ",[612,928,901],{}," is wired in via Vite's ",[612,931,932],{},"define"," hook so you never have to call it yourself.",[642,935,937],{"id":936},"auto-initialization","Auto-initialization",[608,939,940,941,943,944,947,948,947,951,947,954,947,957,960,961,964,965,947,968,960,971,974,975,977],{},"The plugin injects logger configuration at compile time via Vite's ",[612,942,932],{}," hook. The ",[612,945,946],{},"service",", ",[612,949,950],{},"environment",[612,952,953],{},"pretty",[612,955,956],{},"silent",[612,958,959],{},"enabled",", and ",[612,962,963],{},"sampling"," options are serialized and injected at build time, so ",[612,966,967],{},"log",[612,969,970],{},"createLogger()",[612,972,973],{},"createRequestLogger()"," work immediately without an ",[612,976,901],{}," call.",[642,979,981],{"id":980},"debug-stripping","Debug stripping",[608,983,984,985,987],{},"By default, all ",[612,986,908],{}," calls are removed from production builds. This is a compile-time transformation, the calls are completely eliminated from the output, not just silenced.",[650,989,991],{"className":726,"code":990,"filename":723,"language":728,"meta":656,"style":656},"evlog({\n  service: 'my-api',\n  \u002F\u002F Default: strip debug logs in production builds\n  \u002F\u002F strip: ['debug'],\n\n  \u002F\u002F Strip debug and info in production:\n  \u002F\u002F strip: ['debug', 'info'],\n\n  \u002F\u002F Disable stripping:\n  \u002F\u002F strip: [],\n})\n",[612,992,993,1002,1017,1023,1028,1032,1037,1042,1046,1051,1056],{"__ignoreMap":656},[660,994,995,998,1000],{"class":662,"line":663},[660,996,997],{"class":795},"evlog",[660,999,798],{"class":743},[660,1001,801],{"class":739},[660,1003,1004,1007,1009,1011,1013,1015],{"class":662,"line":762},[660,1005,1006],{"class":807},"  service",[660,1008,811],{"class":739},[660,1010,753],{"class":739},[660,1012,837],{"class":669},[660,1014,840],{"class":739},[660,1016,843],{"class":739},[660,1018,1019],{"class":662,"line":779},[660,1020,1022],{"class":1021},"sHwdD","  \u002F\u002F Default: strip debug logs in production builds\n",[660,1024,1025],{"class":662,"line":786},[660,1026,1027],{"class":1021},"  \u002F\u002F strip: ['debug'],\n",[660,1029,1030],{"class":662,"line":804},[660,1031,783],{"emptyLinePlaceholder":782},[660,1033,1034],{"class":662,"line":817},[660,1035,1036],{"class":1021},"  \u002F\u002F Strip debug and info in production:\n",[660,1038,1039],{"class":662,"line":827},[660,1040,1041],{"class":1021},"  \u002F\u002F strip: ['debug', 'info'],\n",[660,1043,1044],{"class":662,"line":846},[660,1045,783],{"emptyLinePlaceholder":782},[660,1047,1048],{"class":662,"line":863},[660,1049,1050],{"class":1021},"  \u002F\u002F Disable stripping:\n",[660,1052,1053],{"class":662,"line":874},[660,1054,1055],{"class":1021},"  \u002F\u002F strip: [],\n",[660,1057,1058,1060],{"class":662,"line":882},[660,1059,885],{"class":739},[660,1061,888],{"class":743},[608,1063,1064,1065,1068,1069,1072],{},"Stripping only activates during ",[612,1066,1067],{},"vite build"," (not ",[612,1070,1071],{},"vite dev",").",[642,1074,1076],{"id":1075},"source-location-injection","Source location injection",[608,1078,1079,1080,1082],{},"When enabled, the plugin injects ",[612,1081,925],{}," into object-form log calls so you know exactly which file and line produced each log entry.",[650,1084,1086],{"className":726,"code":1085,"filename":723,"language":728,"meta":656,"style":656},"evlog({\n  service: 'my-api',\n  sourceLocation: true,      \u002F\u002F Always inject\n  \u002F\u002F sourceLocation: 'dev',  \u002F\u002F Only in development\n})\n",[612,1087,1088,1096,1110,1127,1135],{"__ignoreMap":656},[660,1089,1090,1092,1094],{"class":662,"line":663},[660,1091,997],{"class":795},[660,1093,798],{"class":743},[660,1095,801],{"class":739},[660,1097,1098,1100,1102,1104,1106,1108],{"class":662,"line":762},[660,1099,1006],{"class":807},[660,1101,811],{"class":739},[660,1103,753],{"class":739},[660,1105,837],{"class":669},[660,1107,840],{"class":739},[660,1109,843],{"class":739},[660,1111,1112,1115,1117,1121,1124],{"class":662,"line":779},[660,1113,1114],{"class":807},"  sourceLocation",[660,1116,811],{"class":739},[660,1118,1120],{"class":1119},"sfNiH"," true",[660,1122,1123],{"class":739},",",[660,1125,1126],{"class":1021},"      \u002F\u002F Always inject\n",[660,1128,1129,1132],{"class":662,"line":786},[660,1130,1131],{"class":1021},"  \u002F\u002F sourceLocation: 'dev',",[660,1133,1134],{"class":1021},"  \u002F\u002F Only in development\n",[660,1136,1137,1139],{"class":662,"line":804},[660,1138,885],{"class":739},[660,1140,888],{"class":743},[642,1142,1144],{"id":1143},"auto-imports-opt-in","Auto-imports (opt-in)",[608,1146,1147,1148,947,1150,947,1153,1156],{},"Automatically detect and import evlog symbols (",[612,1149,967],{},[612,1151,1152],{},"createEvlogError",[612,1154,1155],{},"parseError",", etc.) without manual import statements. Disabled by default.",[650,1158,1160],{"className":726,"code":1159,"filename":723,"language":728,"meta":656,"style":656},"evlog({\n  service: 'my-api',\n  autoImports: true,\n})\n",[612,1161,1162,1170,1184,1195],{"__ignoreMap":656},[660,1163,1164,1166,1168],{"class":662,"line":663},[660,1165,997],{"class":795},[660,1167,798],{"class":743},[660,1169,801],{"class":739},[660,1171,1172,1174,1176,1178,1180,1182],{"class":662,"line":762},[660,1173,1006],{"class":807},[660,1175,811],{"class":739},[660,1177,753],{"class":739},[660,1179,837],{"class":669},[660,1181,840],{"class":739},[660,1183,843],{"class":739},[660,1185,1186,1189,1191,1193],{"class":662,"line":779},[660,1187,1188],{"class":807},"  autoImports",[660,1190,811],{"class":739},[660,1192,1120],{"class":1119},[660,1194,843],{"class":739},[660,1196,1197,1199],{"class":662,"line":786},[660,1198,885],{"class":739},[660,1200,888],{"class":743},[608,1202,1203],{},"When enabled, the plugin:",[1205,1206,1207,1210,1216],"ol",{},[896,1208,1209],{},"Scans your code for evlog symbols",[896,1211,1212,1213,1215],{},"Adds the correct ",[612,1214,736],{}," statements automatically",[896,1217,1218,1219,1222],{},"Generates a ",[612,1220,1221],{},".d.ts"," file for TypeScript support",[617,1224,1227,1228,1230,1231,1234,1235,1237,1238,1240,1241,1243],{"color":1225,"icon":1226},"amber","i-lucide-triangle-alert","The auto-imported error constructor is ",[612,1229,1152],{},", not ",[612,1232,1233],{},"createError",". This avoids conflicts with framework-native ",[612,1236,1233],{}," (Nuxt, Nitro, h3). The standalone ",[612,1239,1233],{}," from ",[612,1242,997],{}," is still available via explicit import.",[642,1245,1247],{"id":1246},"client-side-injection","Client-side injection",[608,1249,1250,1251,1254,1255,1258,1259,947,1262,1265],{},"When the ",[612,1252,1253],{},"client"," option is provided, the plugin injects a ",[612,1256,1257],{},"\u003Cscript>"," tag into HTML pages that initializes the client-side logger. This enables ",[612,1260,1261],{},"log.info()",[612,1263,1264],{},"log.error()",", etc. in browser code.",[650,1267,1269],{"className":726,"code":1268,"filename":723,"language":728,"meta":656,"style":656},"evlog({\n  service: 'my-api',\n  client: {\n    console: false,\n    transport: {\n      enabled: true,\n      endpoint: '\u002Fapi\u002F_evlog\u002Fingest',\n    },\n  },\n})\n",[612,1270,1271,1279,1293,1303,1315,1324,1335,1351,1356,1361],{"__ignoreMap":656},[660,1272,1273,1275,1277],{"class":662,"line":663},[660,1274,997],{"class":795},[660,1276,798],{"class":743},[660,1278,801],{"class":739},[660,1280,1281,1283,1285,1287,1289,1291],{"class":662,"line":762},[660,1282,1006],{"class":807},[660,1284,811],{"class":739},[660,1286,753],{"class":739},[660,1288,837],{"class":669},[660,1290,840],{"class":739},[660,1292,843],{"class":739},[660,1294,1295,1298,1300],{"class":662,"line":779},[660,1296,1297],{"class":807},"  client",[660,1299,811],{"class":739},[660,1301,1302],{"class":739}," {\n",[660,1304,1305,1308,1310,1313],{"class":662,"line":786},[660,1306,1307],{"class":807},"    console",[660,1309,811],{"class":739},[660,1311,1312],{"class":1119}," false",[660,1314,843],{"class":739},[660,1316,1317,1320,1322],{"class":662,"line":804},[660,1318,1319],{"class":807},"    transport",[660,1321,811],{"class":739},[660,1323,1302],{"class":739},[660,1325,1326,1329,1331,1333],{"class":662,"line":817},[660,1327,1328],{"class":807},"      enabled",[660,1330,811],{"class":739},[660,1332,1120],{"class":1119},[660,1334,843],{"class":739},[660,1336,1337,1340,1342,1344,1347,1349],{"class":662,"line":827},[660,1338,1339],{"class":807},"      endpoint",[660,1341,811],{"class":739},[660,1343,753],{"class":739},[660,1345,1346],{"class":669},"\u002Fapi\u002F_evlog\u002Fingest",[660,1348,840],{"class":739},[660,1350,843],{"class":739},[660,1352,1353],{"class":662,"line":846},[660,1354,1355],{"class":739},"    },\n",[660,1357,1358],{"class":662,"line":863},[660,1359,1360],{"class":739},"  },\n",[660,1362,1363,1365],{"class":662,"line":874},[660,1364,885],{"class":739},[660,1366,888],{"class":743},[638,1368,547],{"id":1369},"configuration",[1371,1372,1373,1392],"table",{},[1374,1375,1376],"thead",{},[1377,1378,1379,1383,1386,1389],"tr",{},[1380,1381,1382],"th",{},"Option",[1380,1384,1385],{},"Type",[1380,1387,1388],{},"Default",[1380,1390,1391],{},"Description",[1393,1394,1395,1415,1431,1451,1469,1486,1509,1527,1545,1568],"tbody",{},[1377,1396,1397,1402,1407,1412],{},[1398,1399,1400],"td",{},[612,1401,946],{},[1398,1403,1404],{},[612,1405,1406],{},"string",[1398,1408,1409],{},[612,1410,1411],{},"'app'",[1398,1413,1414],{},"Service name in logs",[1377,1416,1417,1421,1425,1428],{},[1398,1418,1419],{},[612,1420,950],{},[1398,1422,1423],{},[612,1424,1406],{},[1398,1426,1427],{},"Auto-detected",[1398,1429,1430],{},"Environment name",[1377,1432,1433,1437,1442,1448],{},[1398,1434,1435],{},[612,1436,953],{},[1398,1438,1439],{},[612,1440,1441],{},"boolean",[1398,1443,1444,1447],{},[612,1445,1446],{},"true"," in dev",[1398,1449,1450],{},"Pretty print logs",[1377,1452,1453,1457,1461,1466],{},[1398,1454,1455],{},[612,1456,956],{},[1398,1458,1459],{},[612,1460,1441],{},[1398,1462,1463],{},[612,1464,1465],{},"false",[1398,1467,1468],{},"Suppress console output",[1377,1470,1471,1475,1479,1483],{},[1398,1472,1473],{},[612,1474,959],{},[1398,1476,1477],{},[612,1478,1441],{},[1398,1480,1481],{},[612,1482,1446],{},[1398,1484,1485],{},"Enable\u002Fdisable all logging",[1377,1487,1488,1492,1497,1502],{},[1398,1489,1490],{},[612,1491,631],{},[1398,1493,1494],{},[612,1495,1496],{},"LogLevel[]",[1398,1498,1499],{},[612,1500,1501],{},"['debug']",[1398,1503,1504,1505,1508],{},"Log levels to remove from production builds. ",[612,1506,1507],{},"trace"," is not stripped by default; add it to the list if you opt into it",[1377,1510,1511,1515,1520,1524],{},[1398,1512,1513],{},[612,1514,635],{},[1398,1516,1517],{},[612,1518,1519],{},"boolean | 'dev'",[1398,1521,1522],{},[612,1523,1465],{},[1398,1525,1526],{},"Inject source file:line into log calls",[1377,1528,1529,1534,1538,1542],{},[1398,1530,1531],{},[612,1532,1533],{},"autoImports",[1398,1535,1536],{},[612,1537,1441],{},[1398,1539,1540],{},[612,1541,1465],{},[1398,1543,1544],{},"Auto-import evlog symbols",[1377,1546,1547,1551,1556,1559],{},[1398,1548,1549],{},[612,1550,1253],{},[1398,1552,1553],{},[612,1554,1555],{},"object",[1398,1557,1558],{},"—",[1398,1560,1561,1562,947,1565,869],{},"Client-side injection config (",[612,1563,1564],{},"console",[612,1566,1567],{},"transport",[1377,1569,1570,1574,1578,1580],{},[1398,1571,1572],{},[612,1573,963],{},[1398,1575,1576],{},[612,1577,1555],{},[1398,1579,1558],{},[1398,1581,1582],{},"Head\u002Ftail sampling rates",[638,1584,1586],{"id":1585},"nuxt-integration","Nuxt Integration",[608,1588,1589,1590,632,1592,1594,1595,811],{},"The Nuxt module exposes ",[612,1591,631],{},[612,1593,635],{}," directly in ",[612,1596,1597],{},"nuxt.config.ts",[650,1599,1601],{"className":726,"code":1600,"filename":1597,"language":728,"meta":656,"style":656},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    env: { service: 'my-app' },\n    strip: ['debug'],           \u002F\u002F Default\n    sourceLocation: 'dev',      \u002F\u002F Inject in dev only\n  },\n})\n",[612,1602,1603,1616,1637,1646,1670,1693,1712,1716],{"__ignoreMap":656},[660,1604,1605,1607,1609,1612,1614],{"class":662,"line":663},[660,1606,789],{"class":735},[660,1608,792],{"class":735},[660,1610,1611],{"class":795}," defineNuxtConfig",[660,1613,798],{"class":743},[660,1615,801],{"class":739},[660,1617,1618,1621,1623,1626,1628,1630,1632,1635],{"class":662,"line":762},[660,1619,1620],{"class":807},"  modules",[660,1622,811],{"class":739},[660,1624,1625],{"class":743}," [",[660,1627,840],{"class":739},[660,1629,627],{"class":669},[660,1631,840],{"class":739},[660,1633,1634],{"class":743},"]",[660,1636,843],{"class":739},[660,1638,1639,1642,1644],{"class":662,"line":779},[660,1640,1641],{"class":807},"  evlog",[660,1643,811],{"class":739},[660,1645,1302],{"class":739},[660,1647,1648,1651,1653,1655,1658,1660,1662,1665,1667],{"class":662,"line":786},[660,1649,1650],{"class":807},"    env",[660,1652,811],{"class":739},[660,1654,740],{"class":739},[660,1656,1657],{"class":807}," service",[660,1659,811],{"class":739},[660,1661,753],{"class":739},[660,1663,1664],{"class":669},"my-app",[660,1666,840],{"class":739},[660,1668,1669],{"class":739}," },\n",[660,1671,1672,1675,1677,1679,1681,1684,1686,1688,1690],{"class":662,"line":804},[660,1673,1674],{"class":807},"    strip",[660,1676,811],{"class":739},[660,1678,1625],{"class":743},[660,1680,840],{"class":739},[660,1682,1683],{"class":669},"debug",[660,1685,840],{"class":739},[660,1687,1634],{"class":743},[660,1689,1123],{"class":739},[660,1691,1692],{"class":1021},"           \u002F\u002F Default\n",[660,1694,1695,1698,1700,1702,1705,1707,1709],{"class":662,"line":817},[660,1696,1697],{"class":807},"    sourceLocation",[660,1699,811],{"class":739},[660,1701,753],{"class":739},[660,1703,1704],{"class":669},"dev",[660,1706,840],{"class":739},[660,1708,1123],{"class":739},[660,1710,1711],{"class":1021},"      \u002F\u002F Inject in dev only\n",[660,1713,1714],{"class":662,"line":827},[660,1715,1360],{"class":739},[660,1717,1718,1720],{"class":662,"line":846},[660,1719,885],{"class":739},[660,1721,888],{"class":743},[638,1723,1725],{"id":1724},"vite-compatibility","Vite Compatibility",[608,1727,1728,1729,1732,1733,1736,1737,632,1740,1743],{},"The plugin supports ",[621,1730,1731],{},"Vite 7+"," and is optimized for ",[621,1734,1735],{},"Vite 8"," (Rolldown). On Vite 8, transform hooks use Rolldown-native ",[612,1738,1739],{},"filter",[612,1741,1742],{},"moduleType"," for maximum performance, non-matching files are skipped entirely on the Rust side without crossing the JS bridge.",[1745,1746,1747],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .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 .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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":656,"searchDepth":762,"depth":762,"links":1749},[1750,1755,1762,1763,1764],{"id":640,"depth":762,"text":25,"children":1751},[1752,1753],{"id":644,"depth":779,"text":645},{"id":719,"depth":779,"text":1754},"2. Add to vite.config.ts",{"id":912,"depth":762,"text":913,"children":1756},[1757,1758,1759,1760,1761],{"id":936,"depth":779,"text":937},{"id":980,"depth":779,"text":981},{"id":1075,"depth":779,"text":1076},{"id":1143,"depth":779,"text":1144},{"id":1246,"depth":779,"text":1247},{"id":1369,"depth":762,"text":547},{"id":1585,"depth":762,"text":1586},{"id":1724,"depth":762,"text":1725},"Build-time optimizations for any Vite-based framework. Auto-init, debug stripping, source location injection, and optional auto-imports.","md",[1768],{"label":1769,"icon":1770,"to":1771,"color":1772,"variant":1773},"Source Code","i-simple-icons-github","https:\u002F\u002Fgithub.com\u002Fevloghq\u002Fevlog\u002Ftree\u002Fmain\u002Fpackages\u002Fevlog\u002Fsrc\u002Fvite","neutral","subtle",{},{"icon":558},{"title":555,"description":1765},"6vMMdXg0TXrNP0JvZOLTYAKIEyQAKVfxVzW6DLNf1Cs",[1779,1781],{"title":383,"path":552,"stem":553,"description":1780,"icon":112,"children":-1},"Inspect evlog benchmark workloads, output settings, and bundle measurements before estimating the cost of your logging configuration.",{"title":560,"path":561,"stem":562,"description":1782,"icon":388,"children":-1},"Security guidelines, data sanitization, and production tips for evlog. Learn what not to log and how to protect sensitive data.",1791103180325]