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