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