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