[{"data":1,"prerenderedAt":4083},["ShallowReactive",2],{"navigation_docs":3,"-learn-sampling":607,"-learn-sampling-surround":4078},[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":4067,"extension":4068,"links":4069,"meta":4074,"navigation":4075,"path":67,"seo":4076,"stem":68,"__hash__":4077},"docs\u002F2.learn\u002F5.sampling.md",{"type":610,"value":611,"toc":4057},"minimark",[612,616,664,669,677,680,1161,1168,1176,1185,1189,1196,1323,1346,1351,1423,1427,1430,1461,1471,1474,1680,1684,1694,3254,3260,3365,3369,3372,4029,4037,4041,4053],[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.",[613,1169,1170,1171,1175],{},"The same rates apply to browser logs received through the ",[654,1172,1174],{"href":1173},"\u002Fintegrate\u002Fframeworks\u002Fnuxt#client-transport","client ingest endpoint",": a client event sampled out is dropped before enrichment and draining. Tail sampling does not apply to client events, since they carry no status or duration.",[1177,1178,1180,1181,1184],"callout",{"color":1179,"icon":13},"info","Head sampling is random. A ",[692,1182,1183],{},"10%"," rate means roughly 1 in 10 info logs are kept, not exactly 1 in 10.",[665,1186,1188],{"id":1187},"keep-an-event-once-you-know-its-outcome","Keep an event once you know its outcome",[613,1190,1191,1192,1195],{},"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,1193,1194],{},"after"," the request completes and force-keeping logs that match specific conditions.",[684,1197,1199],{"className":686,"code":1198,"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,1200,1201,1206,1215,1223,1240,1250,1269,1286,1307,1314,1318],{"__ignoreMap":690},[638,1202,1203],{"class":696,"line":697},[638,1204,1205],{"class":793},"\u002F\u002F Sampling config, works the same across all frameworks\n",[638,1207,1208,1211,1213],{"class":696,"line":719},[638,1209,1052],{"class":1210},"sBMFI",[638,1212,726],{"class":715},[638,1214,755],{"class":715},[638,1216,1217,1219,1221],{"class":696,"line":747},[638,1218,957],{"class":1210},[638,1220,726],{"class":715},[638,1222,755],{"class":715},[638,1224,1225,1227,1229,1231,1234,1236,1238],{"class":696,"line":758},[638,1226,966],{"class":1210},[638,1228,726],{"class":715},[638,1230,883],{"class":715},[638,1232,1233],{"class":1210}," info",[638,1235,726],{"class":715},[638,1237,787],{"class":786},[638,1239,1090],{"class":715},[638,1241,1242,1245,1247],{"class":696,"line":768},[638,1243,1244],{"class":1210},"    keep",[638,1246,726],{"class":715},[638,1248,1249],{"class":722}," [\n",[638,1251,1252,1255,1258,1260,1263,1266],{"class":696,"line":778},[638,1253,1254],{"class":715},"      {",[638,1256,1257],{"class":722}," status",[638,1259,726],{"class":715},[638,1261,1262],{"class":786}," 400",[638,1264,1265],{"class":715}," },",[638,1267,1268],{"class":793},"              \u002F\u002F HTTP status >= 400\n",[638,1270,1271,1273,1276,1278,1281,1283],{"class":696,"line":797},[638,1272,1254],{"class":715},[638,1274,1275],{"class":722}," duration",[638,1277,726],{"class":715},[638,1279,1280],{"class":786}," 1000",[638,1282,1265],{"class":715},[638,1284,1285],{"class":793},"           \u002F\u002F Request took >= 1s\n",[638,1287,1288,1290,1293,1295,1297,1300,1302,1304],{"class":696,"line":813},[638,1289,1254],{"class":715},[638,1291,1292],{"class":722}," path",[638,1294,726],{"class":715},[638,1296,895],{"class":715},[638,1298,1299],{"class":735},"\u002Fapi\u002Fpayments\u002F**",[638,1301,732],{"class":715},[638,1303,1265],{"class":715},[638,1305,1306],{"class":793}," \u002F\u002F Critical path (glob)\n",[638,1308,1309,1312],{"class":696,"line":829},[638,1310,1311],{"class":722},"    ]",[638,1313,744],{"class":715},[638,1315,1316],{"class":696,"line":845},[638,1317,860],{"class":715},[638,1319,1320],{"class":696,"line":851},[638,1321,1322],{"class":715},"}\n",[613,1324,1325,1326,1329,1330,1333,1334,1337,1338,1341,1342,1345],{},"Conditions use ",[673,1327,1328],{},">="," comparison for ",[692,1331,1332],{},"status"," and ",[692,1335,1336],{},"duration",", and glob matching for ",[692,1339,1340],{},"path",". If ",[673,1343,1344],{},"any"," condition matches, the log is kept regardless of head sampling (OR logic).",[1347,1348,1350],"h3",{"id":1349},"conditions-you-can-match-on","Conditions you can match on",[1352,1353,1354,1370],"table",{},[1355,1356,1357],"thead",{},[1358,1359,1360,1364,1367],"tr",{},[1361,1362,1363],"th",{},"Condition",[1361,1365,1366],{},"Type",[1361,1368,1369],{},"Description",[1371,1372,1373,1392,1405],"tbody",{},[1358,1374,1375,1380,1385],{},[1376,1377,1378],"td",{},[692,1379,1332],{},[1376,1381,1382],{},[692,1383,1384],{},"number",[1376,1386,1387,1388,1391],{},"Keep if HTTP status >= value (e.g., ",[692,1389,1390],{},"400"," catches all 4xx and 5xx)",[1358,1393,1394,1398,1402],{},[1376,1395,1396],{},[692,1397,1336],{},[1376,1399,1400],{},[692,1401,1384],{},[1376,1403,1404],{},"Keep if request duration >= value in milliseconds",[1358,1406,1407,1411,1416],{},[1376,1408,1409],{},[692,1410,1340],{},[1376,1412,1413],{},[692,1414,1415],{},"string",[1376,1417,1418,1419,1422],{},"Keep if request path matches glob pattern (e.g., ",[692,1420,1421],{},"'\u002Fapi\u002Fcritical\u002F**'",")",[665,1424,1426],{"id":1425},"combine-head-and-tail-sampling","Combine head and tail sampling",[613,1428,1429],{},"The two tiers complement each other:",[1431,1432,1433,1439,1449,1455],"ol",{},[628,1434,1435,1438],{},[673,1436,1437],{},"Request completes"," - evlog knows the status, duration, and path",[628,1440,1441,1444,1445,1448],{},[673,1442,1443],{},"Tail sampling evaluates"," - if any ",[692,1446,1447],{},"keep"," condition matches, the log is force-kept",[628,1450,1451,1454],{},[673,1452,1453],{},"Head sampling applies"," - only if tail sampling didn't force-keep, the random percentage check runs",[628,1456,1457,1460],{},[673,1458,1459],{},"Log emits or drops"," - kept logs go through enrichment and draining as normal",[613,1462,1463,1464,1467,1468,1470],{},"This means a request to ",[692,1465,1466],{},"\u002Fapi\u002Fpayments\u002Fcharge"," that returns a 500 in 2 seconds will always be logged, even if ",[692,1469,1179],{}," is set to 1%. The tail conditions rescue it.",[1472,1473],"tail-sample-decision",{},[1475,1476,1477,1553],"code-group",{},[684,1478,1480],{"className":686,"code":1479,"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,1481,1482,1491,1508,1517,1530,1542,1549],{"__ignoreMap":690},[638,1483,1484,1487,1489],{"class":696,"line":697},[638,1485,1486],{"class":1210},"sampling",[638,1488,726],{"class":715},[638,1490,755],{"class":715},[638,1492,1493,1496,1498,1500,1502,1504,1506],{"class":696,"line":719},[638,1494,1495],{"class":1210},"  rates",[638,1497,726],{"class":715},[638,1499,883],{"class":715},[638,1501,1233],{"class":1210},[638,1503,726],{"class":715},[638,1505,787],{"class":786},[638,1507,1090],{"class":715},[638,1509,1510,1513,1515],{"class":696,"line":747},[638,1511,1512],{"class":1210},"  keep",[638,1514,726],{"class":715},[638,1516,1249],{"class":722},[638,1518,1519,1522,1524,1526,1528],{"class":696,"line":758},[638,1520,1521],{"class":715},"    {",[638,1523,1257],{"class":722},[638,1525,726],{"class":715},[638,1527,1262],{"class":786},[638,1529,1090],{"class":715},[638,1531,1532,1534,1536,1538,1540],{"class":696,"line":768},[638,1533,1521],{"class":715},[638,1535,1275],{"class":722},[638,1537,726],{"class":715},[638,1539,1280],{"class":786},[638,1541,1090],{"class":715},[638,1543,1544,1547],{"class":696,"line":778},[638,1545,1546],{"class":722},"  ]",[638,1548,744],{"class":715},[638,1550,1551],{"class":696,"line":797},[638,1552,1322],{"class":715},[684,1554,1559],{"className":1555,"code":1556,"filename":1557,"language":1558,"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,1560,1561,1591,1623,1655],{"__ignoreMap":690},[638,1562,1563,1566,1569,1572,1575,1578,1581,1584,1587,1589],{"class":696,"line":697},[638,1564,1565],{"class":1210},"POST",[638,1567,1568],{"class":735}," \u002Fapi\u002Fusers",[638,1570,1571],{"class":786},"     200",[638,1573,1574],{"class":735},"  45ms",[638,1576,1577],{"class":735},"   →",[638,1579,1580],{"class":735}," 10%",[638,1582,1583],{"class":735}," chance",[638,1585,1586],{"class":711}," (head ",[638,1588,1486],{"class":735},[638,1590,869],{"class":711},[638,1592,1593,1595,1597,1600,1602,1604,1607,1610,1613,1616,1619,1621],{"class":696,"line":719},[638,1594,1565],{"class":1210},[638,1596,1568],{"class":735},[638,1598,1599],{"class":786},"     500",[638,1601,1574],{"class":735},[638,1603,1577],{"class":735},[638,1605,1606],{"class":735}," always",[638,1608,1609],{"class":735}," kept",[638,1611,1612],{"class":711}," (status ",[638,1614,1615],{"class":715},">",[638,1617,1618],{"class":735},"=",[638,1620,1262],{"class":786},[638,1622,869],{"class":711},[638,1624,1625,1628,1631,1634,1637,1640,1642,1644,1647,1649,1651,1653],{"class":696,"line":747},[638,1626,1627],{"class":1210},"GET",[638,1629,1630],{"class":735},"  \u002Fapi\u002Fproducts",[638,1632,1633],{"class":786},"  200",[638,1635,1636],{"class":735},"  2300ms",[638,1638,1639],{"class":735}," →",[638,1641,1606],{"class":735},[638,1643,1609],{"class":735},[638,1645,1646],{"class":711}," (duration ",[638,1648,1615],{"class":715},[638,1650,1618],{"class":735},[638,1652,1280],{"class":786},[638,1654,869],{"class":711},[638,1656,1657,1659,1662,1664,1667,1670,1672,1674,1676,1678],{"class":696,"line":758},[638,1658,1565],{"class":1210},[638,1660,1661],{"class":735}," \u002Fapi\u002Fcheckout",[638,1663,1633],{"class":786},[638,1665,1666],{"class":735},"  120ms",[638,1668,1669],{"class":735},"  →",[638,1671,1580],{"class":735},[638,1673,1583],{"class":735},[638,1675,1586],{"class":711},[638,1677,1486],{"class":735},[638,1679,869],{"class":711},[665,1681,1683],{"id":1682},"write-your-own-keep-rule","Write your own keep rule",[613,1685,1686,1687,1690,1691,1693],{},"For conditions beyond status, duration, and path, use the ",[692,1688,1689],{},"evlog:emit:keep"," hook in Nuxt\u002FNitro or the ",[692,1692,1447],{}," callback in other frameworks.",[681,1695,1696,1838,2025,2151,2293,2437,2554,2668,2786,2900,3014,3140],{},[684,1697,1700],{"className":686,"code":1698,"filename":245,"language":688,"meta":1699,"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,1701,1702,1726,1764,1804,1820,1825,1832],{"__ignoreMap":690},[638,1703,1704,1706,1708,1711,1713,1715,1719,1721,1724],{"class":696,"line":697},[638,1705,701],{"class":700},[638,1707,704],{"class":700},[638,1709,1710],{"class":707}," defineNitroPlugin",[638,1712,712],{"class":711},[638,1714,712],{"class":715},[638,1716,1718],{"class":1717},"sHdIc","nitroApp",[638,1720,1422],{"class":715},[638,1722,1723],{"class":914}," =>",[638,1725,755],{"class":715},[638,1727,1728,1731,1734,1737,1739,1742,1744,1746,1748,1750,1752,1755,1758,1760,1762],{"class":696,"line":719},[638,1729,1730],{"class":711},"  nitroApp",[638,1732,1733],{"class":715},".",[638,1735,1736],{"class":711},"hooks",[638,1738,1733],{"class":715},[638,1740,1741],{"class":707},"hook",[638,1743,712],{"class":722},[638,1745,732],{"class":715},[638,1747,1689],{"class":735},[638,1749,732],{"class":715},[638,1751,790],{"class":715},[638,1753,1754],{"class":715}," (",[638,1756,1757],{"class":1717},"ctx",[638,1759,1422],{"class":715},[638,1761,1723],{"class":914},[638,1763,755],{"class":715},[638,1765,1766,1769,1771,1773,1775,1778,1780,1783,1786,1789,1792,1794,1797,1799,1802],{"class":696,"line":747},[638,1767,1768],{"class":700},"    if",[638,1770,1754],{"class":722},[638,1772,1757],{"class":711},[638,1774,1733],{"class":715},[638,1776,1777],{"class":711},"context",[638,1779,1733],{"class":715},[638,1781,1782],{"class":711},"user",[638,1784,1785],{"class":715},"?.",[638,1787,1788],{"class":711},"plan",[638,1790,1791],{"class":715}," ===",[638,1793,895],{"class":715},[638,1795,1796],{"class":735},"enterprise",[638,1798,732],{"class":715},[638,1800,1801],{"class":722},") ",[638,1803,716],{"class":715},[638,1805,1806,1809,1811,1814,1816],{"class":696,"line":758},[638,1807,1808],{"class":711},"      ctx",[638,1810,1733],{"class":715},[638,1812,1813],{"class":711},"shouldKeep",[638,1815,930],{"class":715},[638,1817,1819],{"class":1818},"sfNiH"," true\n",[638,1821,1822],{"class":696,"line":768},[638,1823,1824],{"class":715},"    }\n",[638,1826,1827,1830],{"class":696,"line":778},[638,1828,1829],{"class":715},"  }",[638,1831,869],{"class":722},[638,1833,1834,1836],{"class":696,"line":797},[638,1835,866],{"class":715},[638,1837,869],{"class":711},[684,1839,1841],{"className":686,"code":1840,"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,1842,1843,1861,1865,1889,1903,1911,1927,1950,1954,1966,1998,2010,2014,2018],{"__ignoreMap":690},[638,1844,1845,1847,1849,1851,1853,1855,1857,1859],{"class":696,"line":697},[638,1846,880],{"class":700},[638,1848,883],{"class":715},[638,1850,886],{"class":711},[638,1852,889],{"class":715},[638,1854,892],{"class":700},[638,1856,895],{"class":715},[638,1858,898],{"class":735},[638,1860,901],{"class":715},[638,1862,1863],{"class":696,"line":719},[638,1864,907],{"emptyLinePlaceholder":906},[638,1866,1867,1869,1871,1873,1875,1877,1879,1881,1883,1885,1887],{"class":696,"line":747},[638,1868,701],{"class":700},[638,1870,915],{"class":914},[638,1872,883],{"class":715},[638,1874,920],{"class":711},[638,1876,790],{"class":715},[638,1878,925],{"class":711},[638,1880,866],{"class":715},[638,1882,930],{"class":715},[638,1884,886],{"class":707},[638,1886,712],{"class":711},[638,1888,716],{"class":715},[638,1890,1891,1893,1895,1897,1899,1901],{"class":696,"line":758},[638,1892,941],{"class":722},[638,1894,726],{"class":715},[638,1896,895],{"class":715},[638,1898,948],{"class":735},[638,1900,732],{"class":715},[638,1902,744],{"class":715},[638,1904,1905,1907,1909],{"class":696,"line":768},[638,1906,957],{"class":722},[638,1908,726],{"class":715},[638,1910,755],{"class":715},[638,1912,1913,1915,1917,1919,1921,1923,1925],{"class":696,"line":778},[638,1914,966],{"class":722},[638,1916,726],{"class":715},[638,1918,883],{"class":715},[638,1920,1233],{"class":722},[638,1922,726],{"class":715},[638,1924,787],{"class":786},[638,1926,1090],{"class":715},[638,1928,1929,1931,1933,1935,1938,1940,1942,1944,1946,1948],{"class":696,"line":797},[638,1930,1244],{"class":722},[638,1932,726],{"class":715},[638,1934,729],{"class":711},[638,1936,1937],{"class":715},"{",[638,1939,1257],{"class":722},[638,1941,726],{"class":715},[638,1943,1262],{"class":786},[638,1945,889],{"class":715},[638,1947,741],{"class":711},[638,1949,744],{"class":715},[638,1951,1952],{"class":696,"line":813},[638,1953,860],{"class":715},[638,1955,1956,1958,1960,1962,1964],{"class":696,"line":829},[638,1957,1512],{"class":722},[638,1959,712],{"class":715},[638,1961,1757],{"class":1717},[638,1963,1422],{"class":715},[638,1965,755],{"class":715},[638,1967,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988,1990,1992,1994,1996],{"class":696,"line":845},[638,1969,1768],{"class":700},[638,1971,1754],{"class":722},[638,1973,1757],{"class":711},[638,1975,1733],{"class":715},[638,1977,1777],{"class":711},[638,1979,1733],{"class":715},[638,1981,1782],{"class":711},[638,1983,1785],{"class":715},[638,1985,1788],{"class":711},[638,1987,1791],{"class":715},[638,1989,895],{"class":715},[638,1991,1796],{"class":735},[638,1993,732],{"class":715},[638,1995,1801],{"class":722},[638,1997,716],{"class":715},[638,1999,2000,2002,2004,2006,2008],{"class":696,"line":851},[638,2001,1808],{"class":711},[638,2003,1733],{"class":715},[638,2005,1813],{"class":711},[638,2007,930],{"class":715},[638,2009,1819],{"class":1818},[638,2011,2012],{"class":696,"line":857},[638,2013,1824],{"class":715},[638,2015,2016],{"class":696,"line":863},[638,2017,860],{"class":715},[638,2019,2021,2023],{"class":696,"line":2020},14,[638,2022,866],{"class":715},[638,2024,869],{"class":711},[684,2026,2029],{"className":686,"code":2027,"filename":255,"language":688,"meta":2028,"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,2030,2031,2051,2055,2081,2093,2125,2137,2141,2145],{"__ignoreMap":690},[638,2032,2033,2035,2037,2040,2042,2044,2046,2049],{"class":696,"line":697},[638,2034,880],{"class":700},[638,2036,883],{"class":715},[638,2038,2039],{"class":711}," createEvlogHooks",[638,2041,889],{"class":715},[638,2043,892],{"class":700},[638,2045,895],{"class":715},[638,2047,2048],{"class":735},"evlog\u002Fsveltekit",[638,2050,901],{"class":715},[638,2052,2053],{"class":696,"line":719},[638,2054,907],{"emptyLinePlaceholder":906},[638,2056,2057,2059,2061,2063,2066,2068,2071,2073,2075,2077,2079],{"class":696,"line":747},[638,2058,701],{"class":700},[638,2060,915],{"class":914},[638,2062,883],{"class":715},[638,2064,2065],{"class":711}," handle",[638,2067,790],{"class":715},[638,2069,2070],{"class":711}," handleError ",[638,2072,866],{"class":715},[638,2074,930],{"class":715},[638,2076,2039],{"class":707},[638,2078,712],{"class":711},[638,2080,716],{"class":715},[638,2082,2083,2085,2087,2089,2091],{"class":696,"line":758},[638,2084,1512],{"class":722},[638,2086,712],{"class":715},[638,2088,1757],{"class":1717},[638,2090,1422],{"class":715},[638,2092,755],{"class":715},[638,2094,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123],{"class":696,"line":768},[638,2096,1768],{"class":700},[638,2098,1754],{"class":722},[638,2100,1757],{"class":711},[638,2102,1733],{"class":715},[638,2104,1777],{"class":711},[638,2106,1733],{"class":715},[638,2108,1782],{"class":711},[638,2110,1785],{"class":715},[638,2112,1788],{"class":711},[638,2114,1791],{"class":715},[638,2116,895],{"class":715},[638,2118,1796],{"class":735},[638,2120,732],{"class":715},[638,2122,1801],{"class":722},[638,2124,716],{"class":715},[638,2126,2127,2129,2131,2133,2135],{"class":696,"line":778},[638,2128,1808],{"class":711},[638,2130,1733],{"class":715},[638,2132,1813],{"class":711},[638,2134,930],{"class":715},[638,2136,1819],{"class":1818},[638,2138,2139],{"class":696,"line":797},[638,2140,1824],{"class":715},[638,2142,2143],{"class":696,"line":813},[638,2144,860],{"class":715},[638,2146,2147,2149],{"class":696,"line":829},[638,2148,866],{"class":715},[638,2150,869],{"class":711},[684,2152,2155],{"className":686,"code":2153,"filename":265,"language":688,"meta":2154,"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,2156,2157,2177,2181,2201,2233,2265,2277,2281,2287],{"__ignoreMap":690},[638,2158,2159,2161,2163,2166,2168,2170,2172,2175],{"class":696,"line":697},[638,2160,880],{"class":700},[638,2162,883],{"class":715},[638,2164,2165],{"class":711}," definePlugin",[638,2167,889],{"class":715},[638,2169,892],{"class":700},[638,2171,895],{"class":715},[638,2173,2174],{"class":735},"nitro",[638,2176,901],{"class":715},[638,2178,2179],{"class":696,"line":719},[638,2180,907],{"emptyLinePlaceholder":906},[638,2182,2183,2185,2187,2189,2191,2193,2195,2197,2199],{"class":696,"line":747},[638,2184,701],{"class":700},[638,2186,704],{"class":700},[638,2188,2165],{"class":707},[638,2190,712],{"class":711},[638,2192,712],{"class":715},[638,2194,1718],{"class":1717},[638,2196,1422],{"class":715},[638,2198,1723],{"class":914},[638,2200,755],{"class":715},[638,2202,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231],{"class":696,"line":758},[638,2204,1730],{"class":711},[638,2206,1733],{"class":715},[638,2208,1736],{"class":711},[638,2210,1733],{"class":715},[638,2212,1741],{"class":707},[638,2214,712],{"class":722},[638,2216,732],{"class":715},[638,2218,1689],{"class":735},[638,2220,732],{"class":715},[638,2222,790],{"class":715},[638,2224,1754],{"class":715},[638,2226,1757],{"class":1717},[638,2228,1422],{"class":715},[638,2230,1723],{"class":914},[638,2232,755],{"class":715},[638,2234,2235,2237,2239,2241,2243,2245,2247,2249,2251,2253,2255,2257,2259,2261,2263],{"class":696,"line":768},[638,2236,1768],{"class":700},[638,2238,1754],{"class":722},[638,2240,1757],{"class":711},[638,2242,1733],{"class":715},[638,2244,1777],{"class":711},[638,2246,1733],{"class":715},[638,2248,1782],{"class":711},[638,2250,1785],{"class":715},[638,2252,1788],{"class":711},[638,2254,1791],{"class":715},[638,2256,895],{"class":715},[638,2258,1796],{"class":735},[638,2260,732],{"class":715},[638,2262,1801],{"class":722},[638,2264,716],{"class":715},[638,2266,2267,2269,2271,2273,2275],{"class":696,"line":778},[638,2268,1808],{"class":711},[638,2270,1733],{"class":715},[638,2272,1813],{"class":711},[638,2274,930],{"class":715},[638,2276,1819],{"class":1818},[638,2278,2279],{"class":696,"line":797},[638,2280,1824],{"class":715},[638,2282,2283,2285],{"class":696,"line":813},[638,2284,1829],{"class":715},[638,2286,869],{"class":722},[638,2288,2289,2291],{"class":696,"line":829},[638,2290,866],{"class":715},[638,2292,869],{"class":711},[684,2294,2297],{"className":686,"code":2295,"filename":295,"language":688,"meta":2296,"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,2298,2299,2319,2323,2349,2357,2369,2402,2415,2420,2424,2432],{"__ignoreMap":690},[638,2300,2301,2303,2305,2308,2310,2312,2314,2317],{"class":696,"line":697},[638,2302,880],{"class":700},[638,2304,883],{"class":715},[638,2306,2307],{"class":711}," evlog",[638,2309,889],{"class":715},[638,2311,892],{"class":700},[638,2313,895],{"class":715},[638,2315,2316],{"class":735},"evlog\u002Freact-router",[638,2318,901],{"class":715},[638,2320,2321],{"class":696,"line":719},[638,2322,907],{"emptyLinePlaceholder":906},[638,2324,2325,2327,2329,2332,2334,2337,2339,2342,2345,2347],{"class":696,"line":747},[638,2326,701],{"class":700},[638,2328,915],{"class":914},[638,2330,2331],{"class":711}," middleware",[638,2333,726],{"class":715},[638,2335,2336],{"class":1210}," Route",[638,2338,1733],{"class":715},[638,2340,2341],{"class":1210},"MiddlewareFunction",[638,2343,2344],{"class":711},"[] ",[638,2346,1618],{"class":715},[638,2348,1249],{"class":711},[638,2350,2351,2353,2355],{"class":696,"line":758},[638,2352,750],{"class":707},[638,2354,712],{"class":711},[638,2356,716],{"class":715},[638,2358,2359,2361,2363,2365,2367],{"class":696,"line":768},[638,2360,1244],{"class":722},[638,2362,712],{"class":715},[638,2364,1757],{"class":1717},[638,2366,1422],{"class":715},[638,2368,755],{"class":715},[638,2370,2371,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400],{"class":696,"line":778},[638,2372,2373],{"class":700},"      if",[638,2375,1754],{"class":722},[638,2377,1757],{"class":711},[638,2379,1733],{"class":715},[638,2381,1777],{"class":711},[638,2383,1733],{"class":715},[638,2385,1782],{"class":711},[638,2387,1785],{"class":715},[638,2389,1788],{"class":711},[638,2391,1791],{"class":715},[638,2393,895],{"class":715},[638,2395,1796],{"class":735},[638,2397,732],{"class":715},[638,2399,1801],{"class":722},[638,2401,716],{"class":715},[638,2403,2404,2407,2409,2411,2413],{"class":696,"line":797},[638,2405,2406],{"class":711},"        ctx",[638,2408,1733],{"class":715},[638,2410,1813],{"class":711},[638,2412,930],{"class":715},[638,2414,1819],{"class":1818},[638,2416,2417],{"class":696,"line":813},[638,2418,2419],{"class":715},"      }\n",[638,2421,2422],{"class":696,"line":829},[638,2423,854],{"class":715},[638,2425,2426,2428,2430],{"class":696,"line":845},[638,2427,1829],{"class":715},[638,2429,1422],{"class":711},[638,2431,744],{"class":715},[638,2433,2434],{"class":696,"line":851},[638,2435,2436],{"class":711},"]\n",[684,2438,2440],{"className":686,"code":2439,"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,2441,2442,2461,2465,2483,2495,2527,2539,2543,2547],{"__ignoreMap":690},[638,2443,2444,2446,2448,2450,2452,2454,2456,2459],{"class":696,"line":697},[638,2445,880],{"class":700},[638,2447,883],{"class":715},[638,2449,2307],{"class":711},[638,2451,889],{"class":715},[638,2453,892],{"class":700},[638,2455,895],{"class":715},[638,2457,2458],{"class":735},"evlog\u002Fhono",[638,2460,901],{"class":715},[638,2462,2463],{"class":696,"line":719},[638,2464,907],{"emptyLinePlaceholder":906},[638,2466,2467,2470,2472,2475,2477,2479,2481],{"class":696,"line":747},[638,2468,2469],{"class":711},"app",[638,2471,1733],{"class":715},[638,2473,2474],{"class":707},"use",[638,2476,712],{"class":711},[638,2478,1052],{"class":707},[638,2480,712],{"class":711},[638,2482,716],{"class":715},[638,2484,2485,2487,2489,2491,2493],{"class":696,"line":758},[638,2486,1512],{"class":722},[638,2488,712],{"class":715},[638,2490,1757],{"class":1717},[638,2492,1422],{"class":715},[638,2494,755],{"class":715},[638,2496,2497,2499,2501,2503,2505,2507,2509,2511,2513,2515,2517,2519,2521,2523,2525],{"class":696,"line":768},[638,2498,1768],{"class":700},[638,2500,1754],{"class":722},[638,2502,1757],{"class":711},[638,2504,1733],{"class":715},[638,2506,1777],{"class":711},[638,2508,1733],{"class":715},[638,2510,1782],{"class":711},[638,2512,1785],{"class":715},[638,2514,1788],{"class":711},[638,2516,1791],{"class":715},[638,2518,895],{"class":715},[638,2520,1796],{"class":735},[638,2522,732],{"class":715},[638,2524,1801],{"class":722},[638,2526,716],{"class":715},[638,2528,2529,2531,2533,2535,2537],{"class":696,"line":778},[638,2530,1808],{"class":711},[638,2532,1733],{"class":715},[638,2534,1813],{"class":711},[638,2536,930],{"class":715},[638,2538,1819],{"class":1818},[638,2540,2541],{"class":696,"line":797},[638,2542,1824],{"class":715},[638,2544,2545],{"class":696,"line":813},[638,2546,860],{"class":715},[638,2548,2549,2551],{"class":696,"line":829},[638,2550,866],{"class":715},[638,2552,2553],{"class":711},"))\n",[684,2555,2557],{"className":686,"code":2556,"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,2558,2559,2578,2582,2598,2610,2642,2654,2658,2662],{"__ignoreMap":690},[638,2560,2561,2563,2565,2567,2569,2571,2573,2576],{"class":696,"line":697},[638,2562,880],{"class":700},[638,2564,883],{"class":715},[638,2566,2307],{"class":711},[638,2568,889],{"class":715},[638,2570,892],{"class":700},[638,2572,895],{"class":715},[638,2574,2575],{"class":735},"evlog\u002Fexpress",[638,2577,901],{"class":715},[638,2579,2580],{"class":696,"line":719},[638,2581,907],{"emptyLinePlaceholder":906},[638,2583,2584,2586,2588,2590,2592,2594,2596],{"class":696,"line":747},[638,2585,2469],{"class":711},[638,2587,1733],{"class":715},[638,2589,2474],{"class":707},[638,2591,712],{"class":711},[638,2593,1052],{"class":707},[638,2595,712],{"class":711},[638,2597,716],{"class":715},[638,2599,2600,2602,2604,2606,2608],{"class":696,"line":758},[638,2601,1512],{"class":722},[638,2603,712],{"class":715},[638,2605,1757],{"class":1717},[638,2607,1422],{"class":715},[638,2609,755],{"class":715},[638,2611,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640],{"class":696,"line":768},[638,2613,1768],{"class":700},[638,2615,1754],{"class":722},[638,2617,1757],{"class":711},[638,2619,1733],{"class":715},[638,2621,1777],{"class":711},[638,2623,1733],{"class":715},[638,2625,1782],{"class":711},[638,2627,1785],{"class":715},[638,2629,1788],{"class":711},[638,2631,1791],{"class":715},[638,2633,895],{"class":715},[638,2635,1796],{"class":735},[638,2637,732],{"class":715},[638,2639,1801],{"class":722},[638,2641,716],{"class":715},[638,2643,2644,2646,2648,2650,2652],{"class":696,"line":778},[638,2645,1808],{"class":711},[638,2647,1733],{"class":715},[638,2649,1813],{"class":711},[638,2651,930],{"class":715},[638,2653,1819],{"class":1818},[638,2655,2656],{"class":696,"line":797},[638,2657,1824],{"class":715},[638,2659,2660],{"class":696,"line":813},[638,2661,860],{"class":715},[638,2663,2664,2666],{"class":696,"line":829},[638,2665,866],{"class":715},[638,2667,2553],{"class":711},[684,2669,2671],{"className":686,"code":2670,"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,2672,2673,2692,2696,2716,2728,2760,2772,2776,2780],{"__ignoreMap":690},[638,2674,2675,2677,2679,2681,2683,2685,2687,2690],{"class":696,"line":697},[638,2676,880],{"class":700},[638,2678,883],{"class":715},[638,2680,2307],{"class":711},[638,2682,889],{"class":715},[638,2684,892],{"class":700},[638,2686,895],{"class":715},[638,2688,2689],{"class":735},"evlog\u002Ffastify",[638,2691,901],{"class":715},[638,2693,2694],{"class":696,"line":719},[638,2695,907],{"emptyLinePlaceholder":906},[638,2697,2698,2701,2704,2706,2709,2712,2714],{"class":696,"line":747},[638,2699,2700],{"class":700},"await",[638,2702,2703],{"class":711}," app",[638,2705,1733],{"class":715},[638,2707,2708],{"class":707},"register",[638,2710,2711],{"class":711},"(evlog",[638,2713,790],{"class":715},[638,2715,755],{"class":715},[638,2717,2718,2720,2722,2724,2726],{"class":696,"line":758},[638,2719,1512],{"class":722},[638,2721,712],{"class":715},[638,2723,1757],{"class":1717},[638,2725,1422],{"class":715},[638,2727,755],{"class":715},[638,2729,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2758],{"class":696,"line":768},[638,2731,1768],{"class":700},[638,2733,1754],{"class":722},[638,2735,1757],{"class":711},[638,2737,1733],{"class":715},[638,2739,1777],{"class":711},[638,2741,1733],{"class":715},[638,2743,1782],{"class":711},[638,2745,1785],{"class":715},[638,2747,1788],{"class":711},[638,2749,1791],{"class":715},[638,2751,895],{"class":715},[638,2753,1796],{"class":735},[638,2755,732],{"class":715},[638,2757,1801],{"class":722},[638,2759,716],{"class":715},[638,2761,2762,2764,2766,2768,2770],{"class":696,"line":778},[638,2763,1808],{"class":711},[638,2765,1733],{"class":715},[638,2767,1813],{"class":711},[638,2769,930],{"class":715},[638,2771,1819],{"class":1818},[638,2773,2774],{"class":696,"line":797},[638,2775,1824],{"class":715},[638,2777,2778],{"class":696,"line":813},[638,2779,860],{"class":715},[638,2781,2782,2784],{"class":696,"line":829},[638,2783,866],{"class":715},[638,2785,869],{"class":711},[684,2787,2789],{"className":686,"code":2788,"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,2790,2791,2810,2814,2830,2842,2874,2886,2890,2894],{"__ignoreMap":690},[638,2792,2793,2795,2797,2799,2801,2803,2805,2808],{"class":696,"line":697},[638,2794,880],{"class":700},[638,2796,883],{"class":715},[638,2798,2307],{"class":711},[638,2800,889],{"class":715},[638,2802,892],{"class":700},[638,2804,895],{"class":715},[638,2806,2807],{"class":735},"evlog\u002Felysia",[638,2809,901],{"class":715},[638,2811,2812],{"class":696,"line":719},[638,2813,907],{"emptyLinePlaceholder":906},[638,2815,2816,2818,2820,2822,2824,2826,2828],{"class":696,"line":747},[638,2817,2469],{"class":711},[638,2819,1733],{"class":715},[638,2821,2474],{"class":707},[638,2823,712],{"class":711},[638,2825,1052],{"class":707},[638,2827,712],{"class":711},[638,2829,716],{"class":715},[638,2831,2832,2834,2836,2838,2840],{"class":696,"line":758},[638,2833,1512],{"class":722},[638,2835,712],{"class":715},[638,2837,1757],{"class":1717},[638,2839,1422],{"class":715},[638,2841,755],{"class":715},[638,2843,2844,2846,2848,2850,2852,2854,2856,2858,2860,2862,2864,2866,2868,2870,2872],{"class":696,"line":768},[638,2845,1768],{"class":700},[638,2847,1754],{"class":722},[638,2849,1757],{"class":711},[638,2851,1733],{"class":715},[638,2853,1777],{"class":711},[638,2855,1733],{"class":715},[638,2857,1782],{"class":711},[638,2859,1785],{"class":715},[638,2861,1788],{"class":711},[638,2863,1791],{"class":715},[638,2865,895],{"class":715},[638,2867,1796],{"class":735},[638,2869,732],{"class":715},[638,2871,1801],{"class":722},[638,2873,716],{"class":715},[638,2875,2876,2878,2880,2882,2884],{"class":696,"line":778},[638,2877,1808],{"class":711},[638,2879,1733],{"class":715},[638,2881,1813],{"class":711},[638,2883,930],{"class":715},[638,2885,1819],{"class":1818},[638,2887,2888],{"class":696,"line":797},[638,2889,1824],{"class":715},[638,2891,2892],{"class":696,"line":813},[638,2893,860],{"class":715},[638,2895,2896,2898],{"class":696,"line":829},[638,2897,866],{"class":715},[638,2899,2553],{"class":711},[684,2901,2904],{"className":686,"code":2902,"filename":270,"language":688,"meta":2903,"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,2905,2906,2926,2930,2944,2956,2988,3000,3004,3008],{"__ignoreMap":690},[638,2907,2908,2910,2912,2915,2917,2919,2921,2924],{"class":696,"line":697},[638,2909,880],{"class":700},[638,2911,883],{"class":715},[638,2913,2914],{"class":711}," EvlogModule",[638,2916,889],{"class":715},[638,2918,892],{"class":700},[638,2920,895],{"class":715},[638,2922,2923],{"class":735},"evlog\u002Fnestjs",[638,2925,901],{"class":715},[638,2927,2928],{"class":696,"line":719},[638,2929,907],{"emptyLinePlaceholder":906},[638,2931,2932,2935,2937,2940,2942],{"class":696,"line":747},[638,2933,2934],{"class":711},"EvlogModule",[638,2936,1733],{"class":715},[638,2938,2939],{"class":707},"forRoot",[638,2941,712],{"class":711},[638,2943,716],{"class":715},[638,2945,2946,2948,2950,2952,2954],{"class":696,"line":758},[638,2947,1512],{"class":722},[638,2949,712],{"class":715},[638,2951,1757],{"class":1717},[638,2953,1422],{"class":715},[638,2955,755],{"class":715},[638,2957,2958,2960,2962,2964,2966,2968,2970,2972,2974,2976,2978,2980,2982,2984,2986],{"class":696,"line":768},[638,2959,1768],{"class":700},[638,2961,1754],{"class":722},[638,2963,1757],{"class":711},[638,2965,1733],{"class":715},[638,2967,1777],{"class":711},[638,2969,1733],{"class":715},[638,2971,1782],{"class":711},[638,2973,1785],{"class":715},[638,2975,1788],{"class":711},[638,2977,1791],{"class":715},[638,2979,895],{"class":715},[638,2981,1796],{"class":735},[638,2983,732],{"class":715},[638,2985,1801],{"class":722},[638,2987,716],{"class":715},[638,2989,2990,2992,2994,2996,2998],{"class":696,"line":778},[638,2991,1808],{"class":711},[638,2993,1733],{"class":715},[638,2995,1813],{"class":711},[638,2997,930],{"class":715},[638,2999,1819],{"class":1818},[638,3001,3002],{"class":696,"line":797},[638,3003,1824],{"class":715},[638,3005,3006],{"class":696,"line":813},[638,3007,860],{"class":715},[638,3009,3010,3012],{"class":696,"line":829},[638,3011,866],{"class":715},[638,3013,869],{"class":711},[684,3015,3018],{"className":686,"code":3016,"filename":314,"language":688,"meta":3017,"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,3019,3020,3039,3043,3070,3082,3114,3126,3130,3134],{"__ignoreMap":690},[638,3021,3022,3024,3026,3028,3030,3032,3034,3037],{"class":696,"line":697},[638,3023,880],{"class":700},[638,3025,883],{"class":715},[638,3027,920],{"class":711},[638,3029,889],{"class":715},[638,3031,892],{"class":700},[638,3033,895],{"class":715},[638,3035,3036],{"class":735},"evlog\u002Forpc",[638,3038,901],{"class":715},[638,3040,3041],{"class":696,"line":719},[638,3042,907],{"emptyLinePlaceholder":906},[638,3044,3045,3048,3051,3053,3055,3057,3060,3063,3066,3068],{"class":696,"line":747},[638,3046,3047],{"class":914},"const",[638,3049,3050],{"class":711}," handler ",[638,3052,1618],{"class":715},[638,3054,920],{"class":707},[638,3056,712],{"class":711},[638,3058,3059],{"class":715},"new",[638,3061,3062],{"class":707}," RPCHandler",[638,3064,3065],{"class":711},"(router)",[638,3067,790],{"class":715},[638,3069,755],{"class":715},[638,3071,3072,3074,3076,3078,3080],{"class":696,"line":758},[638,3073,1512],{"class":722},[638,3075,712],{"class":715},[638,3077,1757],{"class":1717},[638,3079,1422],{"class":715},[638,3081,755],{"class":715},[638,3083,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112],{"class":696,"line":768},[638,3085,1768],{"class":700},[638,3087,1754],{"class":722},[638,3089,1757],{"class":711},[638,3091,1733],{"class":715},[638,3093,1777],{"class":711},[638,3095,1733],{"class":715},[638,3097,1782],{"class":711},[638,3099,1785],{"class":715},[638,3101,1788],{"class":711},[638,3103,1791],{"class":715},[638,3105,895],{"class":715},[638,3107,1796],{"class":735},[638,3109,732],{"class":715},[638,3111,1801],{"class":722},[638,3113,716],{"class":715},[638,3115,3116,3118,3120,3122,3124],{"class":696,"line":778},[638,3117,1808],{"class":711},[638,3119,1733],{"class":715},[638,3121,1813],{"class":711},[638,3123,930],{"class":715},[638,3125,1819],{"class":1818},[638,3127,3128],{"class":696,"line":797},[638,3129,1824],{"class":715},[638,3131,3132],{"class":696,"line":813},[638,3133,860],{"class":715},[638,3135,3136,3138],{"class":696,"line":829},[638,3137,866],{"class":715},[638,3139,869],{"class":711},[684,3141,3144],{"className":686,"code":3142,"filename":300,"language":688,"meta":3143,"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,3145,3146,3165,3169,3184,3196,3228,3240,3244,3248],{"__ignoreMap":690},[638,3147,3148,3150,3152,3154,3156,3158,3160,3163],{"class":696,"line":697},[638,3149,880],{"class":700},[638,3151,883],{"class":715},[638,3153,920],{"class":711},[638,3155,889],{"class":715},[638,3157,892],{"class":700},[638,3159,895],{"class":715},[638,3161,3162],{"class":735},"evlog\u002Fworkers",[638,3164,901],{"class":715},[638,3166,3167],{"class":696,"line":719},[638,3168,907],{"emptyLinePlaceholder":906},[638,3170,3171,3173,3175,3177,3180,3182],{"class":696,"line":747},[638,3172,701],{"class":700},[638,3174,704],{"class":700},[638,3176,920],{"class":707},[638,3178,3179],{"class":711},"(handler",[638,3181,790],{"class":715},[638,3183,755],{"class":715},[638,3185,3186,3188,3190,3192,3194],{"class":696,"line":758},[638,3187,1512],{"class":722},[638,3189,712],{"class":715},[638,3191,1757],{"class":1717},[638,3193,1422],{"class":715},[638,3195,755],{"class":715},[638,3197,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3218,3220,3222,3224,3226],{"class":696,"line":768},[638,3199,1768],{"class":700},[638,3201,1754],{"class":722},[638,3203,1757],{"class":711},[638,3205,1733],{"class":715},[638,3207,1777],{"class":711},[638,3209,1733],{"class":715},[638,3211,1782],{"class":711},[638,3213,1785],{"class":715},[638,3215,1788],{"class":711},[638,3217,1791],{"class":715},[638,3219,895],{"class":715},[638,3221,1796],{"class":735},[638,3223,732],{"class":715},[638,3225,1801],{"class":722},[638,3227,716],{"class":715},[638,3229,3230,3232,3234,3236,3238],{"class":696,"line":778},[638,3231,1808],{"class":711},[638,3233,1733],{"class":715},[638,3235,1813],{"class":711},[638,3237,930],{"class":715},[638,3239,1819],{"class":1818},[638,3241,3242],{"class":696,"line":797},[638,3243,1824],{"class":715},[638,3245,3246],{"class":696,"line":813},[638,3247,860],{"class":715},[638,3249,3250,3252],{"class":696,"line":829},[638,3251,866],{"class":715},[638,3253,869],{"class":711},[613,3255,3256,3257,3259],{},"The ",[692,3258,1757],{}," object contains:",[1352,3261,3262,3273],{},[1355,3263,3264],{},[1358,3265,3266,3269,3271],{},[1361,3267,3268],{},"Field",[1361,3270,1366],{},[1361,3272,1369],{},[1371,3274,3275,3289,3302,3316,3330,3347],{},[1358,3276,3277,3281,3286],{},[1376,3278,3279],{},[692,3280,1332],{},[1376,3282,3283],{},[692,3284,3285],{},"number | undefined",[1376,3287,3288],{},"HTTP response status",[1358,3290,3291,3295,3299],{},[1376,3292,3293],{},[692,3294,1336],{},[1376,3296,3297],{},[692,3298,3285],{},[1376,3300,3301],{},"Request duration in ms",[1358,3303,3304,3308,3313],{},[1376,3305,3306],{},[692,3307,1340],{},[1376,3309,3310],{},[692,3311,3312],{},"string | undefined",[1376,3314,3315],{},"Request path",[1358,3317,3318,3323,3327],{},[1376,3319,3320],{},[692,3321,3322],{},"method",[1376,3324,3325],{},[692,3326,3312],{},[1376,3328,3329],{},"HTTP method",[1358,3331,3332,3336,3341],{},[1376,3333,3334],{},[692,3335,1777],{},[1376,3337,3338],{},[692,3339,3340],{},"Record\u003Cstring, unknown>",[1376,3342,3343,3344],{},"All fields set via ",[692,3345,3346],{},"log.set()",[1358,3348,3349,3353,3358],{},[1376,3350,3351],{},[692,3352,1813],{},[1376,3354,3355],{},[692,3356,3357],{},"boolean",[1376,3359,3360,3361,3364],{},"Set to ",[692,3362,3363],{},"true"," to force-keep",[665,3366,3368],{"id":3367},"a-configuration-that-ships","A configuration that ships",[613,3370,3371],{},"A typical production configuration that balances cost and visibility:",[681,3373,3374,3629,3834],{},[684,3375,3377],{"className":686,"code":3376,"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,3378,3379,3391,3409,3417,3438,3442,3451,3460,3469,3478,3489,3500,3511,3522,3527,3537,3551,3564,3581,3599,3607,3612,3617,3622],{"__ignoreMap":690},[638,3380,3381,3383,3385,3387,3389],{"class":696,"line":697},[638,3382,701],{"class":700},[638,3384,704],{"class":700},[638,3386,708],{"class":707},[638,3388,712],{"class":711},[638,3390,716],{"class":715},[638,3392,3393,3395,3397,3399,3401,3403,3405,3407],{"class":696,"line":719},[638,3394,723],{"class":722},[638,3396,726],{"class":715},[638,3398,729],{"class":711},[638,3400,732],{"class":715},[638,3402,736],{"class":735},[638,3404,732],{"class":715},[638,3406,741],{"class":711},[638,3408,744],{"class":715},[638,3410,3411,3413,3415],{"class":696,"line":747},[638,3412,750],{"class":722},[638,3414,726],{"class":715},[638,3416,755],{"class":715},[638,3418,3419,3422,3424,3426,3428,3430,3432,3434,3436],{"class":696,"line":758},[638,3420,3421],{"class":722},"    env",[638,3423,726],{"class":715},[638,3425,883],{"class":715},[638,3427,1079],{"class":722},[638,3429,726],{"class":715},[638,3431,895],{"class":715},[638,3433,948],{"class":735},[638,3435,732],{"class":715},[638,3437,1090],{"class":715},[638,3439,3440],{"class":696,"line":768},[638,3441,860],{"class":715},[638,3443,3444,3447,3449],{"class":696,"line":778},[638,3445,3446],{"class":722},"  $production",[638,3448,726],{"class":715},[638,3450,755],{"class":715},[638,3452,3453,3456,3458],{"class":696,"line":797},[638,3454,3455],{"class":722},"    evlog",[638,3457,726],{"class":715},[638,3459,755],{"class":715},[638,3461,3462,3465,3467],{"class":696,"line":813},[638,3463,3464],{"class":722},"      sampling",[638,3466,726],{"class":715},[638,3468,755],{"class":715},[638,3470,3471,3474,3476],{"class":696,"line":829},[638,3472,3473],{"class":722},"        rates",[638,3475,726],{"class":715},[638,3477,755],{"class":715},[638,3479,3480,3483,3485,3487],{"class":696,"line":845},[638,3481,3482],{"class":722},"          info",[638,3484,726],{"class":715},[638,3486,787],{"class":786},[638,3488,744],{"class":715},[638,3490,3491,3494,3496,3498],{"class":696,"line":851},[638,3492,3493],{"class":722},"          warn",[638,3495,726],{"class":715},[638,3497,805],{"class":786},[638,3499,744],{"class":715},[638,3501,3502,3505,3507,3509],{"class":696,"line":857},[638,3503,3504],{"class":722},"          debug",[638,3506,726],{"class":715},[638,3508,821],{"class":786},[638,3510,744],{"class":715},[638,3512,3513,3516,3518,3520],{"class":696,"line":863},[638,3514,3515],{"class":722},"          error",[638,3517,726],{"class":715},[638,3519,837],{"class":786},[638,3521,744],{"class":715},[638,3523,3524],{"class":696,"line":2020},[638,3525,3526],{"class":715},"        },\n",[638,3528,3530,3533,3535],{"class":696,"line":3529},15,[638,3531,3532],{"class":722},"        keep",[638,3534,726],{"class":715},[638,3536,1249],{"class":711},[638,3538,3540,3543,3545,3547,3549],{"class":696,"line":3539},16,[638,3541,3542],{"class":715},"          {",[638,3544,1257],{"class":722},[638,3546,726],{"class":715},[638,3548,1262],{"class":786},[638,3550,1090],{"class":715},[638,3552,3554,3556,3558,3560,3562],{"class":696,"line":3553},17,[638,3555,3542],{"class":715},[638,3557,1275],{"class":722},[638,3559,726],{"class":715},[638,3561,1280],{"class":786},[638,3563,1090],{"class":715},[638,3565,3567,3569,3571,3573,3575,3577,3579],{"class":696,"line":3566},18,[638,3568,3542],{"class":715},[638,3570,1292],{"class":722},[638,3572,726],{"class":715},[638,3574,895],{"class":715},[638,3576,1299],{"class":735},[638,3578,732],{"class":715},[638,3580,1090],{"class":715},[638,3582,3584,3586,3588,3590,3592,3595,3597],{"class":696,"line":3583},19,[638,3585,3542],{"class":715},[638,3587,1292],{"class":722},[638,3589,726],{"class":715},[638,3591,895],{"class":715},[638,3593,3594],{"class":735},"\u002Fapi\u002Fauth\u002F**",[638,3596,732],{"class":715},[638,3598,1090],{"class":715},[638,3600,3602,3605],{"class":696,"line":3601},20,[638,3603,3604],{"class":711},"        ]",[638,3606,744],{"class":715},[638,3608,3610],{"class":696,"line":3609},21,[638,3611,848],{"class":715},[638,3613,3615],{"class":696,"line":3614},22,[638,3616,854],{"class":715},[638,3618,3620],{"class":696,"line":3619},23,[638,3621,860],{"class":715},[638,3623,3625,3627],{"class":696,"line":3624},24,[638,3626,866],{"class":715},[638,3628,869],{"class":711},[684,3630,3632],{"className":686,"code":3631,"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,3633,3634,3652,3656,3680,3694,3702,3710,3720,3730,3740,3750,3754,3762,3774,3786,3802,3818,3824,3828],{"__ignoreMap":690},[638,3635,3636,3638,3640,3642,3644,3646,3648,3650],{"class":696,"line":697},[638,3637,880],{"class":700},[638,3639,883],{"class":715},[638,3641,886],{"class":711},[638,3643,889],{"class":715},[638,3645,892],{"class":700},[638,3647,895],{"class":715},[638,3649,898],{"class":735},[638,3651,901],{"class":715},[638,3653,3654],{"class":696,"line":719},[638,3655,907],{"emptyLinePlaceholder":906},[638,3657,3658,3660,3662,3664,3666,3668,3670,3672,3674,3676,3678],{"class":696,"line":747},[638,3659,701],{"class":700},[638,3661,915],{"class":914},[638,3663,883],{"class":715},[638,3665,920],{"class":711},[638,3667,790],{"class":715},[638,3669,925],{"class":711},[638,3671,866],{"class":715},[638,3673,930],{"class":715},[638,3675,886],{"class":707},[638,3677,712],{"class":711},[638,3679,716],{"class":715},[638,3681,3682,3684,3686,3688,3690,3692],{"class":696,"line":758},[638,3683,941],{"class":722},[638,3685,726],{"class":715},[638,3687,895],{"class":715},[638,3689,948],{"class":735},[638,3691,732],{"class":715},[638,3693,744],{"class":715},[638,3695,3696,3698,3700],{"class":696,"line":768},[638,3697,957],{"class":722},[638,3699,726],{"class":715},[638,3701,755],{"class":715},[638,3703,3704,3706,3708],{"class":696,"line":778},[638,3705,966],{"class":722},[638,3707,726],{"class":715},[638,3709,755],{"class":715},[638,3711,3712,3714,3716,3718],{"class":696,"line":797},[638,3713,975],{"class":722},[638,3715,726],{"class":715},[638,3717,787],{"class":786},[638,3719,744],{"class":715},[638,3721,3722,3724,3726,3728],{"class":696,"line":813},[638,3723,986],{"class":722},[638,3725,726],{"class":715},[638,3727,805],{"class":786},[638,3729,744],{"class":715},[638,3731,3732,3734,3736,3738],{"class":696,"line":829},[638,3733,997],{"class":722},[638,3735,726],{"class":715},[638,3737,821],{"class":786},[638,3739,744],{"class":715},[638,3741,3742,3744,3746,3748],{"class":696,"line":845},[638,3743,1008],{"class":722},[638,3745,726],{"class":715},[638,3747,837],{"class":786},[638,3749,744],{"class":715},[638,3751,3752],{"class":696,"line":851},[638,3753,854],{"class":715},[638,3755,3756,3758,3760],{"class":696,"line":857},[638,3757,1244],{"class":722},[638,3759,726],{"class":715},[638,3761,1249],{"class":711},[638,3763,3764,3766,3768,3770,3772],{"class":696,"line":863},[638,3765,1254],{"class":715},[638,3767,1257],{"class":722},[638,3769,726],{"class":715},[638,3771,1262],{"class":786},[638,3773,1090],{"class":715},[638,3775,3776,3778,3780,3782,3784],{"class":696,"line":2020},[638,3777,1254],{"class":715},[638,3779,1275],{"class":722},[638,3781,726],{"class":715},[638,3783,1280],{"class":786},[638,3785,1090],{"class":715},[638,3787,3788,3790,3792,3794,3796,3798,3800],{"class":696,"line":3529},[638,3789,1254],{"class":715},[638,3791,1292],{"class":722},[638,3793,726],{"class":715},[638,3795,895],{"class":715},[638,3797,1299],{"class":735},[638,3799,732],{"class":715},[638,3801,1090],{"class":715},[638,3803,3804,3806,3808,3810,3812,3814,3816],{"class":696,"line":3539},[638,3805,1254],{"class":715},[638,3807,1292],{"class":722},[638,3809,726],{"class":715},[638,3811,895],{"class":715},[638,3813,3594],{"class":735},[638,3815,732],{"class":715},[638,3817,1090],{"class":715},[638,3819,3820,3822],{"class":696,"line":3553},[638,3821,1311],{"class":711},[638,3823,744],{"class":715},[638,3825,3826],{"class":696,"line":3566},[638,3827,860],{"class":715},[638,3829,3830,3832],{"class":696,"line":3583},[638,3831,866],{"class":715},[638,3833,869],{"class":711},[684,3835,3837],{"className":686,"code":3836,"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,3838,3839,3857,3861,3869,3889,3897,3905,3915,3925,3935,3945,3949,3957,3969,3981,3997,4013,4019,4023],{"__ignoreMap":690},[638,3840,3841,3843,3845,3847,3849,3851,3853,3855],{"class":696,"line":697},[638,3842,880],{"class":700},[638,3844,883],{"class":715},[638,3846,1043],{"class":711},[638,3848,889],{"class":715},[638,3850,892],{"class":700},[638,3852,895],{"class":715},[638,3854,1052],{"class":735},[638,3856,901],{"class":715},[638,3858,3859],{"class":696,"line":719},[638,3860,907],{"emptyLinePlaceholder":906},[638,3862,3863,3865,3867],{"class":696,"line":747},[638,3864,1063],{"class":707},[638,3866,712],{"class":711},[638,3868,716],{"class":715},[638,3870,3871,3873,3875,3877,3879,3881,3883,3885,3887],{"class":696,"line":758},[638,3872,1072],{"class":722},[638,3874,726],{"class":715},[638,3876,883],{"class":715},[638,3878,1079],{"class":722},[638,3880,726],{"class":715},[638,3882,895],{"class":715},[638,3884,948],{"class":735},[638,3886,732],{"class":715},[638,3888,1090],{"class":715},[638,3890,3891,3893,3895],{"class":696,"line":768},[638,3892,957],{"class":722},[638,3894,726],{"class":715},[638,3896,755],{"class":715},[638,3898,3899,3901,3903],{"class":696,"line":778},[638,3900,966],{"class":722},[638,3902,726],{"class":715},[638,3904,755],{"class":715},[638,3906,3907,3909,3911,3913],{"class":696,"line":797},[638,3908,975],{"class":722},[638,3910,726],{"class":715},[638,3912,787],{"class":786},[638,3914,744],{"class":715},[638,3916,3917,3919,3921,3923],{"class":696,"line":813},[638,3918,986],{"class":722},[638,3920,726],{"class":715},[638,3922,805],{"class":786},[638,3924,744],{"class":715},[638,3926,3927,3929,3931,3933],{"class":696,"line":829},[638,3928,997],{"class":722},[638,3930,726],{"class":715},[638,3932,821],{"class":786},[638,3934,744],{"class":715},[638,3936,3937,3939,3941,3943],{"class":696,"line":845},[638,3938,1008],{"class":722},[638,3940,726],{"class":715},[638,3942,837],{"class":786},[638,3944,744],{"class":715},[638,3946,3947],{"class":696,"line":851},[638,3948,854],{"class":715},[638,3950,3951,3953,3955],{"class":696,"line":857},[638,3952,1244],{"class":722},[638,3954,726],{"class":715},[638,3956,1249],{"class":711},[638,3958,3959,3961,3963,3965,3967],{"class":696,"line":863},[638,3960,1254],{"class":715},[638,3962,1257],{"class":722},[638,3964,726],{"class":715},[638,3966,1262],{"class":786},[638,3968,1090],{"class":715},[638,3970,3971,3973,3975,3977,3979],{"class":696,"line":2020},[638,3972,1254],{"class":715},[638,3974,1275],{"class":722},[638,3976,726],{"class":715},[638,3978,1280],{"class":786},[638,3980,1090],{"class":715},[638,3982,3983,3985,3987,3989,3991,3993,3995],{"class":696,"line":3529},[638,3984,1254],{"class":715},[638,3986,1292],{"class":722},[638,3988,726],{"class":715},[638,3990,895],{"class":715},[638,3992,1299],{"class":735},[638,3994,732],{"class":715},[638,3996,1090],{"class":715},[638,3998,3999,4001,4003,4005,4007,4009,4011],{"class":696,"line":3539},[638,4000,1254],{"class":715},[638,4002,1292],{"class":722},[638,4004,726],{"class":715},[638,4006,895],{"class":715},[638,4008,3594],{"class":735},[638,4010,732],{"class":715},[638,4012,1090],{"class":715},[638,4014,4015,4017],{"class":696,"line":3553},[638,4016,1311],{"class":711},[638,4018,744],{"class":715},[638,4020,4021],{"class":696,"line":3566},[638,4022,860],{"class":715},[638,4024,4025,4027],{"class":696,"line":3583},[638,4026,866],{"class":715},[638,4028,869],{"class":711},[1177,4030,4032,4033,4036],{"color":4031,"icon":483},"warning","In Nuxt, use the ",[692,4034,4035],{},"$production"," override to keep full logging in development while sampling in production. In other frameworks, use your own environment check or config system.",[665,4038,4040],{"id":4039},"next-steps","Next Steps",[625,4042,4043,4048],{},[628,4044,4045,4047],{},[654,4046,565],{"href":566}," - Security and production checklist",[628,4049,4050,4052],{},[654,4051,51],{"href":52}," - Design effective wide events",[4054,4055,4056],"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":4058},[4059,4060,4063,4064,4065,4066],{"id":667,"depth":719,"text":668},{"id":1187,"depth":719,"text":1188,"children":4061},[4062],{"id":1349,"depth":747,"text":1350},{"id":1425,"depth":719,"text":1426},{"id":1682,"depth":719,"text":1683},{"id":3367,"depth":719,"text":3368},{"id":4039,"depth":719,"text":4040},"Two-tier sampling: head sampling drops noise by level, and tail sampling keeps an event once its outcome is known.","md",[4070,4073],{"label":565,"icon":393,"to":566,"color":4071,"variant":4072},"neutral","subtle",{"label":51,"icon":54,"to":52,"color":4071,"variant":4072},{},{"icon":69},{"title":66,"description":4067},"2vkeWZkAh05qlEIrtRxKi0o7XZGg9uZzItdg_rWTvfA",[4079,4081],{"title":61,"path":62,"stem":63,"description":4080,"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":4082,"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.",1791655025017]