[{"data":1,"prerenderedAt":5547},["ShallowReactive",2],{"navigation_docs":3,"-extend-custom-enrichers":612,"-extend-custom-enrichers-surround":5542},[4,35,85,148,328,489,548,587],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Start","\u002Fstart","1.start",[9,14,19,24,29],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",{"title":30,"path":31,"stem":32,"icon":33},"Choose your logger","\u002Fstart\u002Ftypescript-logging-library","1.start\u002F5.typescript-logging-library","i-lucide-file-code",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Learn","\u002Flearn","2.learn",[40,45,50,55,60,65,70,75,80],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":51,"path":52,"stem":53,"icon":54},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":56,"path":57,"stem":58,"icon":59},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":61,"path":62,"stem":63,"icon":64},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":66,"path":67,"stem":68,"icon":69},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":71,"path":72,"stem":73,"icon":74},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":76,"path":77,"stem":78,"icon":79},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":81,"path":82,"stem":83,"icon":84},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":86,"path":87,"stem":88,"children":89,"page":34},"CLI","\u002Fcli","3.cli",[90,93,98,103,108,113,118,123,128,133,138,143],{"title":41,"path":91,"stem":92,"icon":49},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":94,"path":95,"stem":96,"icon":97},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":99,"path":100,"stem":101,"icon":102},"logs","\u002Fcli\u002Flogs","3.cli\u002F10.logs","i-lucide-scroll-text",{"title":104,"path":105,"stem":106,"icon":107},"config","\u002Fcli\u002Fconfig","3.cli\u002F11.config","i-lucide-settings-2",{"title":109,"path":110,"stem":111,"icon":112},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":114,"path":115,"stem":116,"icon":117},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":119,"path":120,"stem":121,"icon":122},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":124,"path":125,"stem":126,"icon":127},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":129,"path":130,"stem":131,"icon":132},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":134,"path":135,"stem":136,"icon":137},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":139,"path":140,"stem":141,"icon":142},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":144,"path":145,"stem":146,"icon":147},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":149,"path":150,"stem":151,"children":152,"page":34},"Integrate","\u002Fintegrate","4.integrate",[153,157,240],{"title":41,"path":154,"stem":155,"icon":156},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":158,"path":159,"stem":160,"children":161,"page":34},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[162,165,195,220],{"title":41,"path":163,"stem":164,"icon":44},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":166,"path":167,"stem":168,"children":169,"page":34},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[170,175,180,185,190],{"title":171,"path":172,"stem":173,"icon":174},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":176,"path":177,"stem":178,"icon":179},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":181,"path":182,"stem":183,"icon":184},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":186,"path":187,"stem":188,"icon":189},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":191,"path":192,"stem":193,"icon":194},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":196,"path":197,"stem":198,"children":199,"page":34},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[200,205,210,215],{"title":201,"path":202,"stem":203,"icon":204},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":206,"path":207,"stem":208,"icon":209},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":211,"path":212,"stem":213,"icon":214},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":216,"path":217,"stem":218,"icon":219},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":221,"path":222,"stem":223,"children":224,"page":34},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[225,230,235],{"title":226,"path":227,"stem":228,"icon":229},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":231,"path":232,"stem":233,"icon":234},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":236,"path":237,"stem":238,"icon":239},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":241,"path":242,"stem":243,"children":244,"page":34},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[245,249,254,259,264,269,274,279,284,289,294,299,304,309,313,318,323],{"title":41,"path":246,"stem":247,"icon":248},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":250,"path":251,"stem":252,"icon":253},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":255,"path":256,"stem":257,"icon":258},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":260,"path":261,"stem":262,"icon":263},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":265,"path":266,"stem":267,"icon":268},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":270,"path":271,"stem":272,"icon":273},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":275,"path":276,"stem":277,"icon":278},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":280,"path":281,"stem":282,"icon":283},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":285,"path":286,"stem":287,"icon":288},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":290,"path":291,"stem":292,"icon":293},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":295,"path":296,"stem":297,"icon":298},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":300,"path":301,"stem":302,"icon":303},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":305,"path":306,"stem":307,"icon":308},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":310,"path":311,"stem":312,"icon":79},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":314,"path":315,"stem":316,"icon":317},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":319,"path":320,"stem":321,"icon":322},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":324,"path":325,"stem":326,"icon":327},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":329,"path":330,"stem":331,"children":332,"page":34},"Use Cases","\u002Fuse-cases","5.use-cases",[333,336,341,369,396,428,449,454,459,463],{"title":41,"path":334,"stem":335,"icon":117},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":337,"path":338,"stem":339,"icon":340},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":342,"icon":343,"path":344,"stem":345,"children":346,"page":34},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[347,350,355,360,365],{"title":41,"path":348,"stem":349,"icon":44},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":351,"path":352,"stem":353,"icon":354},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":356,"path":357,"stem":358,"icon":359},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":361,"path":362,"stem":363,"icon":364},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":366,"path":367,"stem":368,"icon":147},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":370,"icon":371,"path":372,"stem":373,"children":374,"page":34},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[375,378,383,388,392],{"title":41,"path":376,"stem":377,"icon":44},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":379,"path":380,"stem":381,"icon":382},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":384,"path":385,"stem":386,"icon":387},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":389,"path":390,"stem":391,"icon":340},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":393,"path":394,"stem":395,"icon":122},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":397,"icon":398,"path":399,"stem":400,"children":401,"page":34},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[402,405,410,415,420,424],{"title":41,"path":403,"stem":404,"icon":44},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":406,"path":407,"stem":408,"icon":409},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":411,"path":412,"stem":413,"icon":414},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":416,"path":417,"stem":418,"icon":419},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":421,"path":422,"stem":423,"icon":398},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":425,"path":426,"stem":427,"icon":84},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":366,"icon":122,"path":429,"stem":430,"children":431,"page":34},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[432,435,440,445],{"title":41,"path":433,"stem":434,"icon":44},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":436,"path":437,"stem":438,"icon":439},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":441,"path":442,"stem":443,"icon":444},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":446,"path":447,"stem":448,"icon":84},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":450,"path":451,"stem":452,"icon":453},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":455,"path":456,"stem":457,"icon":458},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":460,"path":461,"stem":462,"icon":444},"Node.js request logging","\u002Fuse-cases\u002Fstructured-logging-nodejs","5.use-cases\u002F6.structured-logging-nodejs",{"title":464,"icon":465,"path":466,"stem":467,"children":468,"page":34},"Signals","i-lucide-scan-search","\u002Fuse-cases\u002Fsignals","5.use-cases\u002F7.signals",[469,472,477,482,485],{"title":41,"path":470,"stem":471,"icon":44},"\u002Fuse-cases\u002Fsignals\u002Foverview","5.use-cases\u002F7.signals\u002F01.overview",{"title":473,"path":474,"stem":475,"icon":476},"What You Can Ask","\u002Fuse-cases\u002Fsignals\u002Fask","5.use-cases\u002F7.signals\u002F02.ask","i-lucide-message-circle-question",{"title":478,"path":479,"stem":480,"icon":481},"What It Costs","\u002Fuse-cases\u002Fsignals\u002Fcost","5.use-cases\u002F7.signals\u002F03.cost","i-lucide-coins",{"title":446,"path":483,"stem":484,"icon":84},"\u002Fuse-cases\u002Fsignals\u002Freference","5.use-cases\u002F7.signals\u002F04.reference",{"title":425,"path":486,"stem":487,"icon":488},"\u002Fuse-cases\u002Fsignals\u002Frecipes","5.use-cases\u002F7.signals\u002F05.recipes","i-lucide-lightbulb",{"title":490,"path":491,"stem":492,"children":493,"page":34},"Extend","\u002Fextend","6.extend",[494,498,503,508,512,517,521,525,529,533,538,543],{"title":41,"path":495,"stem":496,"icon":497},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":499,"path":500,"stem":501,"icon":502},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":504,"path":505,"stem":506,"icon":507},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":509,"path":510,"stem":511,"icon":502},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":513,"path":514,"stem":515,"icon":516},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":425,"path":518,"stem":519,"icon":520},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":522,"path":523,"stem":524,"icon":497},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":526,"path":527,"stem":528,"icon":453},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":530,"path":531,"stem":532,"icon":69},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":534,"path":535,"stem":536,"icon":537},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":539,"path":540,"stem":541,"icon":542},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":544,"path":545,"stem":546,"icon":547},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":446,"path":549,"stem":550,"children":551,"page":34},"\u002Freference","7.reference",[552,556,561,564,569,573,578,582],{"title":41,"path":553,"stem":554,"icon":555},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":557,"path":558,"stem":559,"icon":560},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":393,"path":562,"stem":563,"icon":122},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":565,"path":566,"stem":567,"icon":568},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":570,"path":571,"stem":572,"icon":398},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":574,"path":575,"stem":576,"icon":577},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":579,"path":580,"stem":581,"icon":453},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":583,"path":584,"stem":585,"icon":586},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":588,"path":589,"stem":590,"children":591,"page":34},"Compare","\u002Fcompare","8.compare",[592,596,600,604,608],{"title":593,"path":594,"stem":595,"icon":577},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":597,"path":598,"stem":599,"icon":214},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":601,"path":602,"stem":603,"icon":577},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":605,"path":606,"stem":607,"icon":577},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":609,"path":610,"stem":611,"icon":577},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":613,"title":614,"body":615,"description":5531,"extension":5532,"links":5533,"meta":5538,"navigation":5539,"path":527,"seo":5540,"stem":528,"__hash__":5541},"docs\u002F6.extend\u002F5.custom-enrichers.md","Custom Enrichers",{"type":616,"value":617,"toc":5518},"minimark",[618,621,630,646,750,755,758,3002,3006,3014,3179,3198,3204,3210,3483,3488,3519,3522,4877,4881,4894,5083,5087,5093,5098,5245,5249,5481,5485,5492,5496,5514],[619,620],"enricher-chain",{},[622,623,624,625,629],"p",{},"An ",[626,627,628],"strong",{},"enricher"," runs on every emitted event before it is printed and before it reaches drains. It's the right tool when you want a field on every event without touching every call site: geo, user agent, trace context, deploy id, tenant id, feature flags, performance tier.",[622,631,632,633,637,638,641,642,645],{},"Use ",[634,635,636],"code",{},"defineEnricher"," from ",[634,639,640],{},"evlog\u002Ftoolkit"," and provide a single ",[634,643,644],{},"compute()"," function returning the value you want to merge into the event, and the toolkit handles error isolation, undefined skipping, and the merge step. Every built-in enricher is built on this same factory.",[647,648,651,654,736],"prompt",{":actions":649,"description":650,"icon":354},"[\"copy\",\"cursor\",\"claude\"]","Write a custom evlog enricher",[622,652,653],{},"Write a custom evlog enricher that adds derived context to every wide event.",[655,656,657,665,674,698,705,710,721,729],"ul",{},[658,659,632,660,637,662,664],"li",{},[634,661,636],{},[634,663,640],{},", never write the merge \u002F error \u002F undefined logic by hand",[658,666,667,668,671,672],{},"Pass ",[634,669,670],{},"{ name, field, compute }"," to ",[634,673,636],{},[658,675,676,679,680,683,684,683,687,683,690,693,694,697],{},[634,677,678],{},"compute(ctx)"," reads from ",[634,681,682],{},"ctx.headers"," \u002F ",[634,685,686],{},"ctx.request",[634,688,689],{},"ctx.response",[634,691,692],{},"ctx.event"," and returns the value to merge (or ",[634,695,696],{},"undefined"," to skip)",[658,699,700,701,704],{},"Keep ",[634,702,703],{},"compute"," pure and fast: no awaitable I\u002FO on the hot path; cache anything expensive at module scope",[658,706,707,709],{},[634,708,636],{}," already handles: error isolation (errors logged, never thrown), single-field merge, overwrite option",[658,711,712,713,716,717,720],{},"Wire the enricher into my framework via the ",[634,714,715],{},"enrich"," option (middleware) or ",[634,718,719],{},"initLogger.enrichers"," (standalone)",[658,722,723,724,637,727],{},"For multiple enrichers, use ",[634,725,726],{},"composeEnrichers([...])",[634,728,640],{},[658,730,731,732,735],{},"For multi-hook features (enrich + drain side-effect, etc.), use ",[634,733,734],{},"definePlugin"," instead",[622,737,738,739,745,746],{},"Docs: ",[740,741,742],"a",{"href":742,"rel":743},"https:\u002F\u002Fwww.evlog.dev\u002Fextend\u002Fcustom-enrichers",[744],"nofollow","\nBuilt-in: ",[740,747,748],{"href":748,"rel":749},"https:\u002F\u002Fwww.evlog.dev\u002Fuse-cases\u002Fenrichers",[744],[751,752,754],"h2",{"id":753},"basic-example","Basic example",[622,756,757],{},"Add deployment metadata to every event. The enricher is the same function everywhere. Only the wiring step differs per framework.",[759,760,761,928,1072,1238,1413,1552,1735,1891,2043,2199,2351,2503,2666,2818],"framework-tabs",{},[762,763,769],"pre",{"className":764,"code":765,"filename":250,"language":766,"meta":767,"style":768},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:enrich', (ctx) => {\n    ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n    ctx.event.deployedBy = process.env.DEPLOYED_BY\n  })\n})\n","typescript","server\u002Fplugins\u002Fevlog-enrich.ts","",[634,770,771,808,852,884,911,920],{"__ignoreMap":768},[772,773,776,780,783,787,791,794,798,801,805],"span",{"class":774,"line":775},"line",1,[772,777,779],{"class":778},"s7zQu","export",[772,781,782],{"class":778}," default",[772,784,786],{"class":785},"s2Zo4"," defineNitroPlugin",[772,788,790],{"class":789},"sTEyZ","(",[772,792,790],{"class":793},"sMK4o",[772,795,797],{"class":796},"sHdIc","nitroApp",[772,799,800],{"class":793},")",[772,802,804],{"class":803},"spNyl"," =>",[772,806,807],{"class":793}," {\n",[772,809,811,814,817,820,822,825,828,831,835,837,840,843,846,848,850],{"class":774,"line":810},2,[772,812,813],{"class":789},"  nitroApp",[772,815,816],{"class":793},".",[772,818,819],{"class":789},"hooks",[772,821,816],{"class":793},[772,823,824],{"class":785},"hook",[772,826,790],{"class":827},"swJcz",[772,829,830],{"class":793},"'",[772,832,834],{"class":833},"sfazB","evlog:enrich",[772,836,830],{"class":793},[772,838,839],{"class":793},",",[772,841,842],{"class":793}," (",[772,844,845],{"class":796},"ctx",[772,847,800],{"class":793},[772,849,804],{"class":803},[772,851,807],{"class":793},[772,853,855,858,860,863,865,868,871,874,876,879,881],{"class":774,"line":854},3,[772,856,857],{"class":789},"    ctx",[772,859,816],{"class":793},[772,861,862],{"class":789},"event",[772,864,816],{"class":793},[772,866,867],{"class":789},"deploymentId",[772,869,870],{"class":793}," =",[772,872,873],{"class":789}," process",[772,875,816],{"class":793},[772,877,878],{"class":789},"env",[772,880,816],{"class":793},[772,882,883],{"class":789},"DEPLOYMENT_ID\n",[772,885,887,889,891,893,895,898,900,902,904,906,908],{"class":774,"line":886},4,[772,888,857],{"class":789},[772,890,816],{"class":793},[772,892,862],{"class":789},[772,894,816],{"class":793},[772,896,897],{"class":789},"deployedBy",[772,899,870],{"class":793},[772,901,873],{"class":789},[772,903,816],{"class":793},[772,905,878],{"class":789},[772,907,816],{"class":793},[772,909,910],{"class":789},"DEPLOYED_BY\n",[772,912,914,917],{"class":774,"line":913},5,[772,915,916],{"class":793},"  }",[772,918,919],{"class":827},")\n",[772,921,923,926],{"class":774,"line":922},6,[772,924,925],{"class":793},"}",[772,927,919],{"class":789},[762,929,931],{"className":764,"code":930,"filename":265,"language":766,"meta":767,"style":768},"import { definePlugin } from 'nitro'\nexport default definePlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:enrich', (ctx) => {\n    ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n    ctx.event.deployedBy = process.env.DEPLOYED_BY\n  })\n})\n",[634,932,933,959,979,1011,1035,1059,1065],{"__ignoreMap":768},[772,934,935,938,941,944,947,950,953,956],{"class":774,"line":775},[772,936,937],{"class":778},"import",[772,939,940],{"class":793}," {",[772,942,943],{"class":789}," definePlugin",[772,945,946],{"class":793}," }",[772,948,949],{"class":778}," from",[772,951,952],{"class":793}," '",[772,954,955],{"class":833},"nitro",[772,957,958],{"class":793},"'\n",[772,960,961,963,965,967,969,971,973,975,977],{"class":774,"line":810},[772,962,779],{"class":778},[772,964,782],{"class":778},[772,966,943],{"class":785},[772,968,790],{"class":789},[772,970,790],{"class":793},[772,972,797],{"class":796},[772,974,800],{"class":793},[772,976,804],{"class":803},[772,978,807],{"class":793},[772,980,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009],{"class":774,"line":854},[772,982,813],{"class":789},[772,984,816],{"class":793},[772,986,819],{"class":789},[772,988,816],{"class":793},[772,990,824],{"class":785},[772,992,790],{"class":827},[772,994,830],{"class":793},[772,996,834],{"class":833},[772,998,830],{"class":793},[772,1000,839],{"class":793},[772,1002,842],{"class":793},[772,1004,845],{"class":796},[772,1006,800],{"class":793},[772,1008,804],{"class":803},[772,1010,807],{"class":793},[772,1012,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033],{"class":774,"line":886},[772,1014,857],{"class":789},[772,1016,816],{"class":793},[772,1018,862],{"class":789},[772,1020,816],{"class":793},[772,1022,867],{"class":789},[772,1024,870],{"class":793},[772,1026,873],{"class":789},[772,1028,816],{"class":793},[772,1030,878],{"class":789},[772,1032,816],{"class":793},[772,1034,883],{"class":789},[772,1036,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055,1057],{"class":774,"line":913},[772,1038,857],{"class":789},[772,1040,816],{"class":793},[772,1042,862],{"class":789},[772,1044,816],{"class":793},[772,1046,897],{"class":789},[772,1048,870],{"class":793},[772,1050,873],{"class":789},[772,1052,816],{"class":793},[772,1054,878],{"class":789},[772,1056,816],{"class":793},[772,1058,910],{"class":789},[772,1060,1061,1063],{"class":774,"line":922},[772,1062,916],{"class":793},[772,1064,919],{"class":827},[772,1066,1068,1070],{"class":774,"line":1067},7,[772,1069,925],{"class":793},[772,1071,919],{"class":789},[762,1073,1076],{"className":764,"code":1074,"filename":255,"language":766,"meta":1075,"style":768},"import { createEvlog } from 'evlog\u002Fnext'\n\nexport const { withEvlog, useLogger, log, createError } = createEvlog({\n  service: 'my-app',\n  enrich: (ctx) => {\n    ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n    ctx.event.deployedBy = process.env.DEPLOYED_BY\n  },\n})\n","lib\u002Fevlog.ts",[634,1077,1078,1098,1104,1142,1160,1177,1201,1225,1231],{"__ignoreMap":768},[772,1079,1080,1082,1084,1087,1089,1091,1093,1096],{"class":774,"line":775},[772,1081,937],{"class":778},[772,1083,940],{"class":793},[772,1085,1086],{"class":789}," createEvlog",[772,1088,946],{"class":793},[772,1090,949],{"class":778},[772,1092,952],{"class":793},[772,1094,1095],{"class":833},"evlog\u002Fnext",[772,1097,958],{"class":793},[772,1099,1100],{"class":774,"line":810},[772,1101,1103],{"emptyLinePlaceholder":1102},true,"\n",[772,1105,1106,1108,1111,1113,1116,1118,1121,1123,1126,1128,1131,1133,1135,1137,1139],{"class":774,"line":854},[772,1107,779],{"class":778},[772,1109,1110],{"class":803}," const",[772,1112,940],{"class":793},[772,1114,1115],{"class":789}," withEvlog",[772,1117,839],{"class":793},[772,1119,1120],{"class":789}," useLogger",[772,1122,839],{"class":793},[772,1124,1125],{"class":789}," log",[772,1127,839],{"class":793},[772,1129,1130],{"class":789}," createError ",[772,1132,925],{"class":793},[772,1134,870],{"class":793},[772,1136,1086],{"class":785},[772,1138,790],{"class":789},[772,1140,1141],{"class":793},"{\n",[772,1143,1144,1147,1150,1152,1155,1157],{"class":774,"line":886},[772,1145,1146],{"class":827},"  service",[772,1148,1149],{"class":793},":",[772,1151,952],{"class":793},[772,1153,1154],{"class":833},"my-app",[772,1156,830],{"class":793},[772,1158,1159],{"class":793},",\n",[772,1161,1162,1165,1167,1169,1171,1173,1175],{"class":774,"line":913},[772,1163,1164],{"class":785},"  enrich",[772,1166,1149],{"class":793},[772,1168,842],{"class":793},[772,1170,845],{"class":796},[772,1172,800],{"class":793},[772,1174,804],{"class":803},[772,1176,807],{"class":793},[772,1178,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199],{"class":774,"line":922},[772,1180,857],{"class":789},[772,1182,816],{"class":793},[772,1184,862],{"class":789},[772,1186,816],{"class":793},[772,1188,867],{"class":789},[772,1190,870],{"class":793},[772,1192,873],{"class":789},[772,1194,816],{"class":793},[772,1196,878],{"class":789},[772,1198,816],{"class":793},[772,1200,883],{"class":789},[772,1202,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223],{"class":774,"line":1067},[772,1204,857],{"class":789},[772,1206,816],{"class":793},[772,1208,862],{"class":789},[772,1210,816],{"class":793},[772,1212,897],{"class":789},[772,1214,870],{"class":793},[772,1216,873],{"class":789},[772,1218,816],{"class":793},[772,1220,878],{"class":789},[772,1222,816],{"class":793},[772,1224,910],{"class":789},[772,1226,1228],{"class":774,"line":1227},8,[772,1229,1230],{"class":793},"  },\n",[772,1232,1234,1236],{"class":774,"line":1233},9,[772,1235,925],{"class":793},[772,1237,919],{"class":789},[762,1239,1242],{"className":764,"code":1240,"filename":260,"language":766,"meta":1241,"style":768},"import { createEvlogHooks } from 'evlog\u002Fsveltekit'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\nexport const { handle, handleError } = createEvlogHooks({ enrich: deployment })\n","src\u002Fhooks.server.ts",[634,1243,1244,1264,1287,1291,1317,1342,1366,1371,1375],{"__ignoreMap":768},[772,1245,1246,1248,1250,1253,1255,1257,1259,1262],{"class":774,"line":775},[772,1247,937],{"class":778},[772,1249,940],{"class":793},[772,1251,1252],{"class":789}," createEvlogHooks",[772,1254,946],{"class":793},[772,1256,949],{"class":778},[772,1258,952],{"class":793},[772,1260,1261],{"class":833},"evlog\u002Fsveltekit",[772,1263,958],{"class":793},[772,1265,1266,1268,1271,1273,1276,1278,1280,1282,1285],{"class":774,"line":810},[772,1267,937],{"class":778},[772,1269,1270],{"class":778}," type",[772,1272,940],{"class":793},[772,1274,1275],{"class":789}," EnrichContext",[772,1277,946],{"class":793},[772,1279,949],{"class":778},[772,1281,952],{"class":793},[772,1283,1284],{"class":833},"evlog",[772,1286,958],{"class":793},[772,1288,1289],{"class":774,"line":854},[772,1290,1103],{"emptyLinePlaceholder":1102},[772,1292,1293,1296,1299,1302,1304,1306,1308,1311,1313,1315],{"class":774,"line":886},[772,1294,1295],{"class":803},"const",[772,1297,1298],{"class":789}," deployment ",[772,1300,1301],{"class":793},"=",[772,1303,842],{"class":793},[772,1305,845],{"class":796},[772,1307,1149],{"class":793},[772,1309,1275],{"class":1310},"sBMFI",[772,1312,800],{"class":793},[772,1314,804],{"class":803},[772,1316,807],{"class":793},[772,1318,1319,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340],{"class":774,"line":913},[772,1320,1321],{"class":789},"  ctx",[772,1323,816],{"class":793},[772,1325,862],{"class":789},[772,1327,816],{"class":793},[772,1329,867],{"class":789},[772,1331,870],{"class":793},[772,1333,873],{"class":789},[772,1335,816],{"class":793},[772,1337,878],{"class":789},[772,1339,816],{"class":793},[772,1341,883],{"class":789},[772,1343,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364],{"class":774,"line":922},[772,1345,1321],{"class":789},[772,1347,816],{"class":793},[772,1349,862],{"class":789},[772,1351,816],{"class":793},[772,1353,897],{"class":789},[772,1355,870],{"class":793},[772,1357,873],{"class":789},[772,1359,816],{"class":793},[772,1361,878],{"class":789},[772,1363,816],{"class":793},[772,1365,910],{"class":789},[772,1367,1368],{"class":774,"line":1067},[772,1369,1370],{"class":793},"}\n",[772,1372,1373],{"class":774,"line":1227},[772,1374,1103],{"emptyLinePlaceholder":1102},[772,1376,1377,1379,1381,1383,1386,1388,1391,1393,1395,1397,1399,1402,1405,1407,1409,1411],{"class":774,"line":1233},[772,1378,779],{"class":778},[772,1380,1110],{"class":803},[772,1382,940],{"class":793},[772,1384,1385],{"class":789}," handle",[772,1387,839],{"class":793},[772,1389,1390],{"class":789}," handleError ",[772,1392,925],{"class":793},[772,1394,870],{"class":793},[772,1396,1252],{"class":785},[772,1398,790],{"class":789},[772,1400,1401],{"class":793},"{",[772,1403,1404],{"class":827}," enrich",[772,1406,1149],{"class":793},[772,1408,1298],{"class":789},[772,1410,925],{"class":793},[772,1412,919],{"class":789},[762,1414,1416],{"className":764,"code":1415,"filename":270,"language":766,"meta":767,"style":768},"import { definePlugin } from 'nitro'\n\nexport default definePlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:enrich', (ctx) => {\n    ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n    ctx.event.deployedBy = process.env.DEPLOYED_BY\n  })\n})\n",[634,1417,1418,1436,1440,1460,1492,1516,1540,1546],{"__ignoreMap":768},[772,1419,1420,1422,1424,1426,1428,1430,1432,1434],{"class":774,"line":775},[772,1421,937],{"class":778},[772,1423,940],{"class":793},[772,1425,943],{"class":789},[772,1427,946],{"class":793},[772,1429,949],{"class":778},[772,1431,952],{"class":793},[772,1433,955],{"class":833},[772,1435,958],{"class":793},[772,1437,1438],{"class":774,"line":810},[772,1439,1103],{"emptyLinePlaceholder":1102},[772,1441,1442,1444,1446,1448,1450,1452,1454,1456,1458],{"class":774,"line":854},[772,1443,779],{"class":778},[772,1445,782],{"class":778},[772,1447,943],{"class":785},[772,1449,790],{"class":789},[772,1451,790],{"class":793},[772,1453,797],{"class":796},[772,1455,800],{"class":793},[772,1457,804],{"class":803},[772,1459,807],{"class":793},[772,1461,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490],{"class":774,"line":886},[772,1463,813],{"class":789},[772,1465,816],{"class":793},[772,1467,819],{"class":789},[772,1469,816],{"class":793},[772,1471,824],{"class":785},[772,1473,790],{"class":827},[772,1475,830],{"class":793},[772,1477,834],{"class":833},[772,1479,830],{"class":793},[772,1481,839],{"class":793},[772,1483,842],{"class":793},[772,1485,845],{"class":796},[772,1487,800],{"class":793},[772,1489,804],{"class":803},[772,1491,807],{"class":793},[772,1493,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514],{"class":774,"line":913},[772,1495,857],{"class":789},[772,1497,816],{"class":793},[772,1499,862],{"class":789},[772,1501,816],{"class":793},[772,1503,867],{"class":789},[772,1505,870],{"class":793},[772,1507,873],{"class":789},[772,1509,816],{"class":793},[772,1511,878],{"class":789},[772,1513,816],{"class":793},[772,1515,883],{"class":789},[772,1517,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538],{"class":774,"line":922},[772,1519,857],{"class":789},[772,1521,816],{"class":793},[772,1523,862],{"class":789},[772,1525,816],{"class":793},[772,1527,897],{"class":789},[772,1529,870],{"class":793},[772,1531,873],{"class":789},[772,1533,816],{"class":793},[772,1535,878],{"class":789},[772,1537,816],{"class":793},[772,1539,910],{"class":789},[772,1541,1542,1544],{"class":774,"line":1067},[772,1543,916],{"class":793},[772,1545,919],{"class":827},[772,1547,1548,1550],{"class":774,"line":1227},[772,1549,925],{"class":793},[772,1551,919],{"class":789},[762,1553,1556],{"className":764,"code":1554,"filename":300,"language":766,"meta":1555,"style":768},"import { evlog } from 'evlog\u002Freact-router'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\nexport const middleware: Route.MiddlewareFunction[] = [\n  evlog({ enrich: deployment }),\n]\n","app\u002Froot.tsx",[634,1557,1558,1578,1598,1602,1624,1648,1672,1676,1680,1707,1729],{"__ignoreMap":768},[772,1559,1560,1562,1564,1567,1569,1571,1573,1576],{"class":774,"line":775},[772,1561,937],{"class":778},[772,1563,940],{"class":793},[772,1565,1566],{"class":789}," evlog",[772,1568,946],{"class":793},[772,1570,949],{"class":778},[772,1572,952],{"class":793},[772,1574,1575],{"class":833},"evlog\u002Freact-router",[772,1577,958],{"class":793},[772,1579,1580,1582,1584,1586,1588,1590,1592,1594,1596],{"class":774,"line":810},[772,1581,937],{"class":778},[772,1583,1270],{"class":778},[772,1585,940],{"class":793},[772,1587,1275],{"class":789},[772,1589,946],{"class":793},[772,1591,949],{"class":778},[772,1593,952],{"class":793},[772,1595,1284],{"class":833},[772,1597,958],{"class":793},[772,1599,1600],{"class":774,"line":854},[772,1601,1103],{"emptyLinePlaceholder":1102},[772,1603,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622],{"class":774,"line":886},[772,1605,1295],{"class":803},[772,1607,1298],{"class":789},[772,1609,1301],{"class":793},[772,1611,842],{"class":793},[772,1613,845],{"class":796},[772,1615,1149],{"class":793},[772,1617,1275],{"class":1310},[772,1619,800],{"class":793},[772,1621,804],{"class":803},[772,1623,807],{"class":793},[772,1625,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646],{"class":774,"line":913},[772,1627,1321],{"class":789},[772,1629,816],{"class":793},[772,1631,862],{"class":789},[772,1633,816],{"class":793},[772,1635,867],{"class":789},[772,1637,870],{"class":793},[772,1639,873],{"class":789},[772,1641,816],{"class":793},[772,1643,878],{"class":789},[772,1645,816],{"class":793},[772,1647,883],{"class":789},[772,1649,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670],{"class":774,"line":922},[772,1651,1321],{"class":789},[772,1653,816],{"class":793},[772,1655,862],{"class":789},[772,1657,816],{"class":793},[772,1659,897],{"class":789},[772,1661,870],{"class":793},[772,1663,873],{"class":789},[772,1665,816],{"class":793},[772,1667,878],{"class":789},[772,1669,816],{"class":793},[772,1671,910],{"class":789},[772,1673,1674],{"class":774,"line":1067},[772,1675,1370],{"class":793},[772,1677,1678],{"class":774,"line":1227},[772,1679,1103],{"emptyLinePlaceholder":1102},[772,1681,1682,1684,1686,1689,1691,1694,1696,1699,1702,1704],{"class":774,"line":1233},[772,1683,779],{"class":778},[772,1685,1110],{"class":803},[772,1687,1688],{"class":789}," middleware",[772,1690,1149],{"class":793},[772,1692,1693],{"class":1310}," Route",[772,1695,816],{"class":793},[772,1697,1698],{"class":1310},"MiddlewareFunction",[772,1700,1701],{"class":789},"[] ",[772,1703,1301],{"class":793},[772,1705,1706],{"class":789}," [\n",[772,1708,1710,1713,1715,1717,1719,1721,1723,1725,1727],{"class":774,"line":1709},10,[772,1711,1712],{"class":785},"  evlog",[772,1714,790],{"class":789},[772,1716,1401],{"class":793},[772,1718,1404],{"class":827},[772,1720,1149],{"class":793},[772,1722,1298],{"class":789},[772,1724,925],{"class":793},[772,1726,800],{"class":789},[772,1728,1159],{"class":793},[772,1730,1732],{"class":774,"line":1731},11,[772,1733,1734],{"class":789},"]\n",[762,1736,1739],{"className":764,"code":1737,"filename":285,"language":766,"meta":1738,"style":768},"import { evlog } from 'evlog\u002Fhono'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\napp.use(evlog({ enrich: deployment }))\n","src\u002Findex.ts",[634,1740,1741,1760,1780,1784,1806,1830,1854,1858,1862],{"__ignoreMap":768},[772,1742,1743,1745,1747,1749,1751,1753,1755,1758],{"class":774,"line":775},[772,1744,937],{"class":778},[772,1746,940],{"class":793},[772,1748,1566],{"class":789},[772,1750,946],{"class":793},[772,1752,949],{"class":778},[772,1754,952],{"class":793},[772,1756,1757],{"class":833},"evlog\u002Fhono",[772,1759,958],{"class":793},[772,1761,1762,1764,1766,1768,1770,1772,1774,1776,1778],{"class":774,"line":810},[772,1763,937],{"class":778},[772,1765,1270],{"class":778},[772,1767,940],{"class":793},[772,1769,1275],{"class":789},[772,1771,946],{"class":793},[772,1773,949],{"class":778},[772,1775,952],{"class":793},[772,1777,1284],{"class":833},[772,1779,958],{"class":793},[772,1781,1782],{"class":774,"line":854},[772,1783,1103],{"emptyLinePlaceholder":1102},[772,1785,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804],{"class":774,"line":886},[772,1787,1295],{"class":803},[772,1789,1298],{"class":789},[772,1791,1301],{"class":793},[772,1793,842],{"class":793},[772,1795,845],{"class":796},[772,1797,1149],{"class":793},[772,1799,1275],{"class":1310},[772,1801,800],{"class":793},[772,1803,804],{"class":803},[772,1805,807],{"class":793},[772,1807,1808,1810,1812,1814,1816,1818,1820,1822,1824,1826,1828],{"class":774,"line":913},[772,1809,1321],{"class":789},[772,1811,816],{"class":793},[772,1813,862],{"class":789},[772,1815,816],{"class":793},[772,1817,867],{"class":789},[772,1819,870],{"class":793},[772,1821,873],{"class":789},[772,1823,816],{"class":793},[772,1825,878],{"class":789},[772,1827,816],{"class":793},[772,1829,883],{"class":789},[772,1831,1832,1834,1836,1838,1840,1842,1844,1846,1848,1850,1852],{"class":774,"line":922},[772,1833,1321],{"class":789},[772,1835,816],{"class":793},[772,1837,862],{"class":789},[772,1839,816],{"class":793},[772,1841,897],{"class":789},[772,1843,870],{"class":793},[772,1845,873],{"class":789},[772,1847,816],{"class":793},[772,1849,878],{"class":789},[772,1851,816],{"class":793},[772,1853,910],{"class":789},[772,1855,1856],{"class":774,"line":1067},[772,1857,1370],{"class":793},[772,1859,1860],{"class":774,"line":1227},[772,1861,1103],{"emptyLinePlaceholder":1102},[772,1863,1864,1867,1869,1872,1874,1876,1878,1880,1882,1884,1886,1888],{"class":774,"line":1233},[772,1865,1866],{"class":789},"app",[772,1868,816],{"class":793},[772,1870,1871],{"class":785},"use",[772,1873,790],{"class":789},[772,1875,1284],{"class":785},[772,1877,790],{"class":789},[772,1879,1401],{"class":793},[772,1881,1404],{"class":827},[772,1883,1149],{"class":793},[772,1885,1298],{"class":789},[772,1887,925],{"class":793},[772,1889,1890],{"class":789},"))\n",[762,1892,1894],{"className":764,"code":1893,"filename":280,"language":766,"meta":1738,"style":768},"import { evlog } from 'evlog\u002Fexpress'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\napp.use(evlog({ enrich: deployment }))\n",[634,1895,1896,1915,1935,1939,1961,1985,2009,2013,2017],{"__ignoreMap":768},[772,1897,1898,1900,1902,1904,1906,1908,1910,1913],{"class":774,"line":775},[772,1899,937],{"class":778},[772,1901,940],{"class":793},[772,1903,1566],{"class":789},[772,1905,946],{"class":793},[772,1907,949],{"class":778},[772,1909,952],{"class":793},[772,1911,1912],{"class":833},"evlog\u002Fexpress",[772,1914,958],{"class":793},[772,1916,1917,1919,1921,1923,1925,1927,1929,1931,1933],{"class":774,"line":810},[772,1918,937],{"class":778},[772,1920,1270],{"class":778},[772,1922,940],{"class":793},[772,1924,1275],{"class":789},[772,1926,946],{"class":793},[772,1928,949],{"class":778},[772,1930,952],{"class":793},[772,1932,1284],{"class":833},[772,1934,958],{"class":793},[772,1936,1937],{"class":774,"line":854},[772,1938,1103],{"emptyLinePlaceholder":1102},[772,1940,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959],{"class":774,"line":886},[772,1942,1295],{"class":803},[772,1944,1298],{"class":789},[772,1946,1301],{"class":793},[772,1948,842],{"class":793},[772,1950,845],{"class":796},[772,1952,1149],{"class":793},[772,1954,1275],{"class":1310},[772,1956,800],{"class":793},[772,1958,804],{"class":803},[772,1960,807],{"class":793},[772,1962,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983],{"class":774,"line":913},[772,1964,1321],{"class":789},[772,1966,816],{"class":793},[772,1968,862],{"class":789},[772,1970,816],{"class":793},[772,1972,867],{"class":789},[772,1974,870],{"class":793},[772,1976,873],{"class":789},[772,1978,816],{"class":793},[772,1980,878],{"class":789},[772,1982,816],{"class":793},[772,1984,883],{"class":789},[772,1986,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007],{"class":774,"line":922},[772,1988,1321],{"class":789},[772,1990,816],{"class":793},[772,1992,862],{"class":789},[772,1994,816],{"class":793},[772,1996,897],{"class":789},[772,1998,870],{"class":793},[772,2000,873],{"class":789},[772,2002,816],{"class":793},[772,2004,878],{"class":789},[772,2006,816],{"class":793},[772,2008,910],{"class":789},[772,2010,2011],{"class":774,"line":1067},[772,2012,1370],{"class":793},[772,2014,2015],{"class":774,"line":1227},[772,2016,1103],{"emptyLinePlaceholder":1102},[772,2018,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041],{"class":774,"line":1233},[772,2020,1866],{"class":789},[772,2022,816],{"class":793},[772,2024,1871],{"class":785},[772,2026,790],{"class":789},[772,2028,1284],{"class":785},[772,2030,790],{"class":789},[772,2032,1401],{"class":793},[772,2034,1404],{"class":827},[772,2036,1149],{"class":793},[772,2038,1298],{"class":789},[772,2040,925],{"class":793},[772,2042,1890],{"class":789},[762,2044,2046],{"className":764,"code":2045,"filename":290,"language":766,"meta":1738,"style":768},"import { evlog } from 'evlog\u002Ffastify'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\nawait app.register(evlog, { enrich: deployment })\n",[634,2047,2048,2067,2087,2091,2113,2137,2161,2165,2169],{"__ignoreMap":768},[772,2049,2050,2052,2054,2056,2058,2060,2062,2065],{"class":774,"line":775},[772,2051,937],{"class":778},[772,2053,940],{"class":793},[772,2055,1566],{"class":789},[772,2057,946],{"class":793},[772,2059,949],{"class":778},[772,2061,952],{"class":793},[772,2063,2064],{"class":833},"evlog\u002Ffastify",[772,2066,958],{"class":793},[772,2068,2069,2071,2073,2075,2077,2079,2081,2083,2085],{"class":774,"line":810},[772,2070,937],{"class":778},[772,2072,1270],{"class":778},[772,2074,940],{"class":793},[772,2076,1275],{"class":789},[772,2078,946],{"class":793},[772,2080,949],{"class":778},[772,2082,952],{"class":793},[772,2084,1284],{"class":833},[772,2086,958],{"class":793},[772,2088,2089],{"class":774,"line":854},[772,2090,1103],{"emptyLinePlaceholder":1102},[772,2092,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111],{"class":774,"line":886},[772,2094,1295],{"class":803},[772,2096,1298],{"class":789},[772,2098,1301],{"class":793},[772,2100,842],{"class":793},[772,2102,845],{"class":796},[772,2104,1149],{"class":793},[772,2106,1275],{"class":1310},[772,2108,800],{"class":793},[772,2110,804],{"class":803},[772,2112,807],{"class":793},[772,2114,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135],{"class":774,"line":913},[772,2116,1321],{"class":789},[772,2118,816],{"class":793},[772,2120,862],{"class":789},[772,2122,816],{"class":793},[772,2124,867],{"class":789},[772,2126,870],{"class":793},[772,2128,873],{"class":789},[772,2130,816],{"class":793},[772,2132,878],{"class":789},[772,2134,816],{"class":793},[772,2136,883],{"class":789},[772,2138,2139,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159],{"class":774,"line":922},[772,2140,1321],{"class":789},[772,2142,816],{"class":793},[772,2144,862],{"class":789},[772,2146,816],{"class":793},[772,2148,897],{"class":789},[772,2150,870],{"class":793},[772,2152,873],{"class":789},[772,2154,816],{"class":793},[772,2156,878],{"class":789},[772,2158,816],{"class":793},[772,2160,910],{"class":789},[772,2162,2163],{"class":774,"line":1067},[772,2164,1370],{"class":793},[772,2166,2167],{"class":774,"line":1227},[772,2168,1103],{"emptyLinePlaceholder":1102},[772,2170,2171,2174,2177,2179,2182,2185,2187,2189,2191,2193,2195,2197],{"class":774,"line":1233},[772,2172,2173],{"class":778},"await",[772,2175,2176],{"class":789}," app",[772,2178,816],{"class":793},[772,2180,2181],{"class":785},"register",[772,2183,2184],{"class":789},"(evlog",[772,2186,839],{"class":793},[772,2188,940],{"class":793},[772,2190,1404],{"class":827},[772,2192,1149],{"class":793},[772,2194,1298],{"class":789},[772,2196,925],{"class":793},[772,2198,919],{"class":789},[762,2200,2202],{"className":764,"code":2201,"filename":295,"language":766,"meta":1738,"style":768},"import { evlog } from 'evlog\u002Felysia'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\napp.use(evlog({ enrich: deployment }))\n",[634,2203,2204,2223,2243,2247,2269,2293,2317,2321,2325],{"__ignoreMap":768},[772,2205,2206,2208,2210,2212,2214,2216,2218,2221],{"class":774,"line":775},[772,2207,937],{"class":778},[772,2209,940],{"class":793},[772,2211,1566],{"class":789},[772,2213,946],{"class":793},[772,2215,949],{"class":778},[772,2217,952],{"class":793},[772,2219,2220],{"class":833},"evlog\u002Felysia",[772,2222,958],{"class":793},[772,2224,2225,2227,2229,2231,2233,2235,2237,2239,2241],{"class":774,"line":810},[772,2226,937],{"class":778},[772,2228,1270],{"class":778},[772,2230,940],{"class":793},[772,2232,1275],{"class":789},[772,2234,946],{"class":793},[772,2236,949],{"class":778},[772,2238,952],{"class":793},[772,2240,1284],{"class":833},[772,2242,958],{"class":793},[772,2244,2245],{"class":774,"line":854},[772,2246,1103],{"emptyLinePlaceholder":1102},[772,2248,2249,2251,2253,2255,2257,2259,2261,2263,2265,2267],{"class":774,"line":886},[772,2250,1295],{"class":803},[772,2252,1298],{"class":789},[772,2254,1301],{"class":793},[772,2256,842],{"class":793},[772,2258,845],{"class":796},[772,2260,1149],{"class":793},[772,2262,1275],{"class":1310},[772,2264,800],{"class":793},[772,2266,804],{"class":803},[772,2268,807],{"class":793},[772,2270,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291],{"class":774,"line":913},[772,2272,1321],{"class":789},[772,2274,816],{"class":793},[772,2276,862],{"class":789},[772,2278,816],{"class":793},[772,2280,867],{"class":789},[772,2282,870],{"class":793},[772,2284,873],{"class":789},[772,2286,816],{"class":793},[772,2288,878],{"class":789},[772,2290,816],{"class":793},[772,2292,883],{"class":789},[772,2294,2295,2297,2299,2301,2303,2305,2307,2309,2311,2313,2315],{"class":774,"line":922},[772,2296,1321],{"class":789},[772,2298,816],{"class":793},[772,2300,862],{"class":789},[772,2302,816],{"class":793},[772,2304,897],{"class":789},[772,2306,870],{"class":793},[772,2308,873],{"class":789},[772,2310,816],{"class":793},[772,2312,878],{"class":789},[772,2314,816],{"class":793},[772,2316,910],{"class":789},[772,2318,2319],{"class":774,"line":1067},[772,2320,1370],{"class":793},[772,2322,2323],{"class":774,"line":1227},[772,2324,1103],{"emptyLinePlaceholder":1102},[772,2326,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349],{"class":774,"line":1233},[772,2328,1866],{"class":789},[772,2330,816],{"class":793},[772,2332,1871],{"class":785},[772,2334,790],{"class":789},[772,2336,1284],{"class":785},[772,2338,790],{"class":789},[772,2340,1401],{"class":793},[772,2342,1404],{"class":827},[772,2344,1149],{"class":793},[772,2346,1298],{"class":789},[772,2348,925],{"class":793},[772,2350,1890],{"class":789},[762,2352,2355],{"className":764,"code":2353,"filename":275,"language":766,"meta":2354,"style":768},"import { EvlogModule } from 'evlog\u002Fnestjs'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\nEvlogModule.forRoot({ enrich: deployment })\n","src\u002Fapp.module.ts",[634,2356,2357,2377,2397,2401,2423,2447,2471,2475,2479],{"__ignoreMap":768},[772,2358,2359,2361,2363,2366,2368,2370,2372,2375],{"class":774,"line":775},[772,2360,937],{"class":778},[772,2362,940],{"class":793},[772,2364,2365],{"class":789}," EvlogModule",[772,2367,946],{"class":793},[772,2369,949],{"class":778},[772,2371,952],{"class":793},[772,2373,2374],{"class":833},"evlog\u002Fnestjs",[772,2376,958],{"class":793},[772,2378,2379,2381,2383,2385,2387,2389,2391,2393,2395],{"class":774,"line":810},[772,2380,937],{"class":778},[772,2382,1270],{"class":778},[772,2384,940],{"class":793},[772,2386,1275],{"class":789},[772,2388,946],{"class":793},[772,2390,949],{"class":778},[772,2392,952],{"class":793},[772,2394,1284],{"class":833},[772,2396,958],{"class":793},[772,2398,2399],{"class":774,"line":854},[772,2400,1103],{"emptyLinePlaceholder":1102},[772,2402,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421],{"class":774,"line":886},[772,2404,1295],{"class":803},[772,2406,1298],{"class":789},[772,2408,1301],{"class":793},[772,2410,842],{"class":793},[772,2412,845],{"class":796},[772,2414,1149],{"class":793},[772,2416,1275],{"class":1310},[772,2418,800],{"class":793},[772,2420,804],{"class":803},[772,2422,807],{"class":793},[772,2424,2425,2427,2429,2431,2433,2435,2437,2439,2441,2443,2445],{"class":774,"line":913},[772,2426,1321],{"class":789},[772,2428,816],{"class":793},[772,2430,862],{"class":789},[772,2432,816],{"class":793},[772,2434,867],{"class":789},[772,2436,870],{"class":793},[772,2438,873],{"class":789},[772,2440,816],{"class":793},[772,2442,878],{"class":789},[772,2444,816],{"class":793},[772,2446,883],{"class":789},[772,2448,2449,2451,2453,2455,2457,2459,2461,2463,2465,2467,2469],{"class":774,"line":922},[772,2450,1321],{"class":789},[772,2452,816],{"class":793},[772,2454,862],{"class":789},[772,2456,816],{"class":793},[772,2458,897],{"class":789},[772,2460,870],{"class":793},[772,2462,873],{"class":789},[772,2464,816],{"class":793},[772,2466,878],{"class":789},[772,2468,816],{"class":793},[772,2470,910],{"class":789},[772,2472,2473],{"class":774,"line":1067},[772,2474,1370],{"class":793},[772,2476,2477],{"class":774,"line":1227},[772,2478,1103],{"emptyLinePlaceholder":1102},[772,2480,2481,2484,2486,2489,2491,2493,2495,2497,2499,2501],{"class":774,"line":1233},[772,2482,2483],{"class":789},"EvlogModule",[772,2485,816],{"class":793},[772,2487,2488],{"class":785},"forRoot",[772,2490,790],{"class":789},[772,2492,1401],{"class":793},[772,2494,1404],{"class":827},[772,2496,1149],{"class":793},[772,2498,1298],{"class":789},[772,2500,925],{"class":793},[772,2502,919],{"class":789},[762,2504,2507],{"className":764,"code":2505,"filename":319,"language":766,"meta":2506,"style":768},"import { withEvlog } from 'evlog\u002Forpc'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\nconst handler = withEvlog(new RPCHandler(router), { enrich: deployment })\n","server\u002Forpc.ts",[634,2508,2509,2528,2548,2552,2574,2598,2622,2626,2630],{"__ignoreMap":768},[772,2510,2511,2513,2515,2517,2519,2521,2523,2526],{"class":774,"line":775},[772,2512,937],{"class":778},[772,2514,940],{"class":793},[772,2516,1115],{"class":789},[772,2518,946],{"class":793},[772,2520,949],{"class":778},[772,2522,952],{"class":793},[772,2524,2525],{"class":833},"evlog\u002Forpc",[772,2527,958],{"class":793},[772,2529,2530,2532,2534,2536,2538,2540,2542,2544,2546],{"class":774,"line":810},[772,2531,937],{"class":778},[772,2533,1270],{"class":778},[772,2535,940],{"class":793},[772,2537,1275],{"class":789},[772,2539,946],{"class":793},[772,2541,949],{"class":778},[772,2543,952],{"class":793},[772,2545,1284],{"class":833},[772,2547,958],{"class":793},[772,2549,2550],{"class":774,"line":854},[772,2551,1103],{"emptyLinePlaceholder":1102},[772,2553,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572],{"class":774,"line":886},[772,2555,1295],{"class":803},[772,2557,1298],{"class":789},[772,2559,1301],{"class":793},[772,2561,842],{"class":793},[772,2563,845],{"class":796},[772,2565,1149],{"class":793},[772,2567,1275],{"class":1310},[772,2569,800],{"class":793},[772,2571,804],{"class":803},[772,2573,807],{"class":793},[772,2575,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596],{"class":774,"line":913},[772,2577,1321],{"class":789},[772,2579,816],{"class":793},[772,2581,862],{"class":789},[772,2583,816],{"class":793},[772,2585,867],{"class":789},[772,2587,870],{"class":793},[772,2589,873],{"class":789},[772,2591,816],{"class":793},[772,2593,878],{"class":789},[772,2595,816],{"class":793},[772,2597,883],{"class":789},[772,2599,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620],{"class":774,"line":922},[772,2601,1321],{"class":789},[772,2603,816],{"class":793},[772,2605,862],{"class":789},[772,2607,816],{"class":793},[772,2609,897],{"class":789},[772,2611,870],{"class":793},[772,2613,873],{"class":789},[772,2615,816],{"class":793},[772,2617,878],{"class":789},[772,2619,816],{"class":793},[772,2621,910],{"class":789},[772,2623,2624],{"class":774,"line":1067},[772,2625,1370],{"class":793},[772,2627,2628],{"class":774,"line":1227},[772,2629,1103],{"emptyLinePlaceholder":1102},[772,2631,2632,2634,2637,2639,2641,2643,2646,2649,2652,2654,2656,2658,2660,2662,2664],{"class":774,"line":1233},[772,2633,1295],{"class":803},[772,2635,2636],{"class":789}," handler ",[772,2638,1301],{"class":793},[772,2640,1115],{"class":785},[772,2642,790],{"class":789},[772,2644,2645],{"class":793},"new",[772,2647,2648],{"class":785}," RPCHandler",[772,2650,2651],{"class":789},"(router)",[772,2653,839],{"class":793},[772,2655,940],{"class":793},[772,2657,1404],{"class":827},[772,2659,1149],{"class":793},[772,2661,1298],{"class":789},[772,2663,925],{"class":793},[772,2665,919],{"class":789},[762,2667,2670],{"className":764,"code":2668,"filename":305,"language":766,"meta":2669,"style":768},"import { withEvlog } from 'evlog\u002Fworkers'\nimport type { EnrichContext } from 'evlog'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\nexport default withEvlog(handler, { enrich: deployment })\n","src\u002Fworker.ts",[634,2671,2672,2691,2711,2715,2737,2761,2785,2789,2793],{"__ignoreMap":768},[772,2673,2674,2676,2678,2680,2682,2684,2686,2689],{"class":774,"line":775},[772,2675,937],{"class":778},[772,2677,940],{"class":793},[772,2679,1115],{"class":789},[772,2681,946],{"class":793},[772,2683,949],{"class":778},[772,2685,952],{"class":793},[772,2687,2688],{"class":833},"evlog\u002Fworkers",[772,2690,958],{"class":793},[772,2692,2693,2695,2697,2699,2701,2703,2705,2707,2709],{"class":774,"line":810},[772,2694,937],{"class":778},[772,2696,1270],{"class":778},[772,2698,940],{"class":793},[772,2700,1275],{"class":789},[772,2702,946],{"class":793},[772,2704,949],{"class":778},[772,2706,952],{"class":793},[772,2708,1284],{"class":833},[772,2710,958],{"class":793},[772,2712,2713],{"class":774,"line":854},[772,2714,1103],{"emptyLinePlaceholder":1102},[772,2716,2717,2719,2721,2723,2725,2727,2729,2731,2733,2735],{"class":774,"line":886},[772,2718,1295],{"class":803},[772,2720,1298],{"class":789},[772,2722,1301],{"class":793},[772,2724,842],{"class":793},[772,2726,845],{"class":796},[772,2728,1149],{"class":793},[772,2730,1275],{"class":1310},[772,2732,800],{"class":793},[772,2734,804],{"class":803},[772,2736,807],{"class":793},[772,2738,2739,2741,2743,2745,2747,2749,2751,2753,2755,2757,2759],{"class":774,"line":913},[772,2740,1321],{"class":789},[772,2742,816],{"class":793},[772,2744,862],{"class":789},[772,2746,816],{"class":793},[772,2748,867],{"class":789},[772,2750,870],{"class":793},[772,2752,873],{"class":789},[772,2754,816],{"class":793},[772,2756,878],{"class":789},[772,2758,816],{"class":793},[772,2760,883],{"class":789},[772,2762,2763,2765,2767,2769,2771,2773,2775,2777,2779,2781,2783],{"class":774,"line":922},[772,2764,1321],{"class":789},[772,2766,816],{"class":793},[772,2768,862],{"class":789},[772,2770,816],{"class":793},[772,2772,897],{"class":789},[772,2774,870],{"class":793},[772,2776,873],{"class":789},[772,2778,816],{"class":793},[772,2780,878],{"class":789},[772,2782,816],{"class":793},[772,2784,910],{"class":789},[772,2786,2787],{"class":774,"line":1067},[772,2788,1370],{"class":793},[772,2790,2791],{"class":774,"line":1227},[772,2792,1103],{"emptyLinePlaceholder":1102},[772,2794,2795,2797,2799,2801,2804,2806,2808,2810,2812,2814,2816],{"class":774,"line":1233},[772,2796,779],{"class":778},[772,2798,782],{"class":778},[772,2800,1115],{"class":785},[772,2802,2803],{"class":789},"(handler",[772,2805,839],{"class":793},[772,2807,940],{"class":793},[772,2809,1404],{"class":827},[772,2811,1149],{"class":793},[772,2813,1298],{"class":789},[772,2815,925],{"class":793},[772,2817,919],{"class":789},[762,2819,2822],{"className":764,"code":2820,"filename":310,"language":766,"meta":2821,"style":768},"import type { EnrichContext } from 'evlog'\nimport { initLogger } from 'evlog'\nimport { enricherPlugin } from 'evlog\u002Ftoolkit'\n\nconst deployment = (ctx: EnrichContext) => {\n  ctx.event.deploymentId = process.env.DEPLOYMENT_ID\n  ctx.event.deployedBy = process.env.DEPLOYED_BY\n}\n\ninitLogger({ plugins: [enricherPlugin('deployment', deployment)] })\n","index.ts",[634,2823,2824,2844,2863,2882,2886,2908,2932,2956,2960,2964],{"__ignoreMap":768},[772,2825,2826,2828,2830,2832,2834,2836,2838,2840,2842],{"class":774,"line":775},[772,2827,937],{"class":778},[772,2829,1270],{"class":778},[772,2831,940],{"class":793},[772,2833,1275],{"class":789},[772,2835,946],{"class":793},[772,2837,949],{"class":778},[772,2839,952],{"class":793},[772,2841,1284],{"class":833},[772,2843,958],{"class":793},[772,2845,2846,2848,2850,2853,2855,2857,2859,2861],{"class":774,"line":810},[772,2847,937],{"class":778},[772,2849,940],{"class":793},[772,2851,2852],{"class":789}," initLogger",[772,2854,946],{"class":793},[772,2856,949],{"class":778},[772,2858,952],{"class":793},[772,2860,1284],{"class":833},[772,2862,958],{"class":793},[772,2864,2865,2867,2869,2872,2874,2876,2878,2880],{"class":774,"line":854},[772,2866,937],{"class":778},[772,2868,940],{"class":793},[772,2870,2871],{"class":789}," enricherPlugin",[772,2873,946],{"class":793},[772,2875,949],{"class":778},[772,2877,952],{"class":793},[772,2879,640],{"class":833},[772,2881,958],{"class":793},[772,2883,2884],{"class":774,"line":886},[772,2885,1103],{"emptyLinePlaceholder":1102},[772,2887,2888,2890,2892,2894,2896,2898,2900,2902,2904,2906],{"class":774,"line":913},[772,2889,1295],{"class":803},[772,2891,1298],{"class":789},[772,2893,1301],{"class":793},[772,2895,842],{"class":793},[772,2897,845],{"class":796},[772,2899,1149],{"class":793},[772,2901,1275],{"class":1310},[772,2903,800],{"class":793},[772,2905,804],{"class":803},[772,2907,807],{"class":793},[772,2909,2910,2912,2914,2916,2918,2920,2922,2924,2926,2928,2930],{"class":774,"line":922},[772,2911,1321],{"class":789},[772,2913,816],{"class":793},[772,2915,862],{"class":789},[772,2917,816],{"class":793},[772,2919,867],{"class":789},[772,2921,870],{"class":793},[772,2923,873],{"class":789},[772,2925,816],{"class":793},[772,2927,878],{"class":789},[772,2929,816],{"class":793},[772,2931,883],{"class":789},[772,2933,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954],{"class":774,"line":1067},[772,2935,1321],{"class":789},[772,2937,816],{"class":793},[772,2939,862],{"class":789},[772,2941,816],{"class":793},[772,2943,897],{"class":789},[772,2945,870],{"class":793},[772,2947,873],{"class":789},[772,2949,816],{"class":793},[772,2951,878],{"class":789},[772,2953,816],{"class":793},[772,2955,910],{"class":789},[772,2957,2958],{"class":774,"line":1227},[772,2959,1370],{"class":793},[772,2961,2962],{"class":774,"line":1233},[772,2963,1103],{"emptyLinePlaceholder":1102},[772,2965,2966,2969,2971,2973,2976,2978,2981,2984,2986,2988,2991,2993,2995,2998,3000],{"class":774,"line":1709},[772,2967,2968],{"class":785},"initLogger",[772,2970,790],{"class":789},[772,2972,1401],{"class":793},[772,2974,2975],{"class":827}," plugins",[772,2977,1149],{"class":793},[772,2979,2980],{"class":789}," [",[772,2982,2983],{"class":785},"enricherPlugin",[772,2985,790],{"class":789},[772,2987,830],{"class":793},[772,2989,2990],{"class":833},"deployment",[772,2992,830],{"class":793},[772,2994,839],{"class":793},[772,2996,2997],{"class":789}," deployment)] ",[772,2999,925],{"class":793},[772,3001,919],{"class":789},[751,3003,3005],{"id":3004},"enrichcontext","EnrichContext",[622,3007,3008,3009,3011,3012,1149],{},"The ",[634,3010,834],{}," hook receives an ",[634,3013,3005],{},[762,3015,3018],{"className":764,"code":3016,"filename":3017,"language":766,"meta":768,"style":768},"interface EnrichContext {\n  \u002F** The emitted wide event (mutable) *\u002F\n  event: WideEvent\n  \u002F** Request metadata *\u002F\n  request?: {\n    method?: string\n    path?: string\n    requestId?: string\n  }\n  \u002F** Safe HTTP request headers (sensitive headers filtered out) *\u002F\n  headers?: Record\u003Cstring, string>\n  \u002F** Response metadata *\u002F\n  response?: {\n    status?: number\n    headers?: Record\u003Cstring, string>\n  }\n}\n","enrich-context.ts",[634,3019,3020,3029,3035,3045,3050,3060,3070,3079,3088,3093,3098,3122,3128,3138,3149,3169,3174],{"__ignoreMap":768},[772,3021,3022,3025,3027],{"class":774,"line":775},[772,3023,3024],{"class":803},"interface",[772,3026,1275],{"class":1310},[772,3028,807],{"class":793},[772,3030,3031],{"class":774,"line":810},[772,3032,3034],{"class":3033},"sHwdD","  \u002F** The emitted wide event (mutable) *\u002F\n",[772,3036,3037,3040,3042],{"class":774,"line":854},[772,3038,3039],{"class":827},"  event",[772,3041,1149],{"class":793},[772,3043,3044],{"class":1310}," WideEvent\n",[772,3046,3047],{"class":774,"line":886},[772,3048,3049],{"class":3033},"  \u002F** Request metadata *\u002F\n",[772,3051,3052,3055,3058],{"class":774,"line":913},[772,3053,3054],{"class":827},"  request",[772,3056,3057],{"class":793},"?:",[772,3059,807],{"class":793},[772,3061,3062,3065,3067],{"class":774,"line":922},[772,3063,3064],{"class":827},"    method",[772,3066,3057],{"class":793},[772,3068,3069],{"class":1310}," string\n",[772,3071,3072,3075,3077],{"class":774,"line":1067},[772,3073,3074],{"class":827},"    path",[772,3076,3057],{"class":793},[772,3078,3069],{"class":1310},[772,3080,3081,3084,3086],{"class":774,"line":1227},[772,3082,3083],{"class":827},"    requestId",[772,3085,3057],{"class":793},[772,3087,3069],{"class":1310},[772,3089,3090],{"class":774,"line":1233},[772,3091,3092],{"class":793},"  }\n",[772,3094,3095],{"class":774,"line":1709},[772,3096,3097],{"class":3033},"  \u002F** Safe HTTP request headers (sensitive headers filtered out) *\u002F\n",[772,3099,3100,3103,3105,3108,3111,3114,3116,3119],{"class":774,"line":1731},[772,3101,3102],{"class":827},"  headers",[772,3104,3057],{"class":793},[772,3106,3107],{"class":1310}," Record",[772,3109,3110],{"class":793},"\u003C",[772,3112,3113],{"class":1310},"string",[772,3115,839],{"class":793},[772,3117,3118],{"class":1310}," string",[772,3120,3121],{"class":793},">\n",[772,3123,3125],{"class":774,"line":3124},12,[772,3126,3127],{"class":3033},"  \u002F** Response metadata *\u002F\n",[772,3129,3131,3134,3136],{"class":774,"line":3130},13,[772,3132,3133],{"class":827},"  response",[772,3135,3057],{"class":793},[772,3137,807],{"class":793},[772,3139,3141,3144,3146],{"class":774,"line":3140},14,[772,3142,3143],{"class":827},"    status",[772,3145,3057],{"class":793},[772,3147,3148],{"class":1310}," number\n",[772,3150,3152,3155,3157,3159,3161,3163,3165,3167],{"class":774,"line":3151},15,[772,3153,3154],{"class":827},"    headers",[772,3156,3057],{"class":793},[772,3158,3107],{"class":1310},[772,3160,3110],{"class":793},[772,3162,3113],{"class":1310},[772,3164,839],{"class":793},[772,3166,3118],{"class":1310},[772,3168,3121],{"class":793},[772,3170,3172],{"class":774,"line":3171},16,[772,3173,3092],{"class":793},[772,3175,3177],{"class":774,"line":3176},17,[772,3178,1370],{"class":793},[3180,3181,3183,3186,3187,3190,3191,3190,3194,3197],"callout",{"color":3182,"icon":398},"success",[626,3184,3185],{},"Security:"," Sensitive headers (",[634,3188,3189],{},"authorization",", ",[634,3192,3193],{},"cookie",[634,3195,3196],{},"x-api-key",", etc.) are automatically filtered and never passed to enrichers.",[751,3199,3201,3202],{"id":3200},"recommended-pattern-defineenricher","Recommended pattern: ",[634,3203,636],{},[622,3205,3206,3207,3209],{},"Every built-in enricher uses this same factory. Provide ",[634,3208,644],{}," and you're done:",[762,3211,3214],{"className":764,"code":3212,"filename":3213,"language":766,"meta":768,"style":768},"import { defineEnricher, type EnricherOptions } from 'evlog\u002Ftoolkit'\n\ninterface TenantInfo {\n  id: string\n}\n\n\u002F\u002F `event.user` is set by the auth layer with log.set({ user }), never by the\n\u002F\u002F client. A request header would let the caller choose its own tenant.\nexport function createTenantEnricher(options: EnricherOptions = {}) {\n  return defineEnricher\u003CTenantInfo>({\n    name: 'tenant',\n    field: 'tenant',\n    compute: ({ event }) => {\n      const user = event.user as { orgId?: string } | undefined\n      if (!user?.orgId) return undefined\n      return { id: user.orgId }\n    },\n  }, options)\n}\n","server\u002Futils\u002Fenrichers.ts",[634,3215,3216,3242,3246,3255,3264,3268,3272,3277,3282,3308,3327,3343,3358,3378,3415,3441,3462,3467,3478],{"__ignoreMap":768},[772,3217,3218,3220,3222,3225,3227,3229,3232,3234,3236,3238,3240],{"class":774,"line":775},[772,3219,937],{"class":778},[772,3221,940],{"class":793},[772,3223,3224],{"class":789}," defineEnricher",[772,3226,839],{"class":793},[772,3228,1270],{"class":778},[772,3230,3231],{"class":789}," EnricherOptions",[772,3233,946],{"class":793},[772,3235,949],{"class":778},[772,3237,952],{"class":793},[772,3239,640],{"class":833},[772,3241,958],{"class":793},[772,3243,3244],{"class":774,"line":810},[772,3245,1103],{"emptyLinePlaceholder":1102},[772,3247,3248,3250,3253],{"class":774,"line":854},[772,3249,3024],{"class":803},[772,3251,3252],{"class":1310}," TenantInfo",[772,3254,807],{"class":793},[772,3256,3257,3260,3262],{"class":774,"line":886},[772,3258,3259],{"class":827},"  id",[772,3261,1149],{"class":793},[772,3263,3069],{"class":1310},[772,3265,3266],{"class":774,"line":913},[772,3267,1370],{"class":793},[772,3269,3270],{"class":774,"line":922},[772,3271,1103],{"emptyLinePlaceholder":1102},[772,3273,3274],{"class":774,"line":1067},[772,3275,3276],{"class":3033},"\u002F\u002F `event.user` is set by the auth layer with log.set({ user }), never by the\n",[772,3278,3279],{"class":774,"line":1227},[772,3280,3281],{"class":3033},"\u002F\u002F client. A request header would let the caller choose its own tenant.\n",[772,3283,3284,3286,3289,3292,3294,3297,3299,3301,3303,3306],{"class":774,"line":1233},[772,3285,779],{"class":778},[772,3287,3288],{"class":803}," function",[772,3290,3291],{"class":785}," createTenantEnricher",[772,3293,790],{"class":793},[772,3295,3296],{"class":796},"options",[772,3298,1149],{"class":793},[772,3300,3231],{"class":1310},[772,3302,870],{"class":793},[772,3304,3305],{"class":793}," {})",[772,3307,807],{"class":793},[772,3309,3310,3313,3315,3317,3320,3323,3325],{"class":774,"line":1709},[772,3311,3312],{"class":778},"  return",[772,3314,3224],{"class":785},[772,3316,3110],{"class":793},[772,3318,3319],{"class":1310},"TenantInfo",[772,3321,3322],{"class":793},">",[772,3324,790],{"class":827},[772,3326,1141],{"class":793},[772,3328,3329,3332,3334,3336,3339,3341],{"class":774,"line":1731},[772,3330,3331],{"class":827},"    name",[772,3333,1149],{"class":793},[772,3335,952],{"class":793},[772,3337,3338],{"class":833},"tenant",[772,3340,830],{"class":793},[772,3342,1159],{"class":793},[772,3344,3345,3348,3350,3352,3354,3356],{"class":774,"line":3124},[772,3346,3347],{"class":827},"    field",[772,3349,1149],{"class":793},[772,3351,952],{"class":793},[772,3353,3338],{"class":833},[772,3355,830],{"class":793},[772,3357,1159],{"class":793},[772,3359,3360,3363,3365,3368,3371,3374,3376],{"class":774,"line":3130},[772,3361,3362],{"class":785},"    compute",[772,3364,1149],{"class":793},[772,3366,3367],{"class":793}," ({",[772,3369,3370],{"class":796}," event",[772,3372,3373],{"class":793}," })",[772,3375,804],{"class":803},[772,3377,807],{"class":793},[772,3379,3380,3383,3386,3388,3390,3392,3395,3398,3400,3403,3405,3407,3409,3412],{"class":774,"line":3140},[772,3381,3382],{"class":803},"      const",[772,3384,3385],{"class":789}," user",[772,3387,870],{"class":793},[772,3389,3370],{"class":789},[772,3391,816],{"class":793},[772,3393,3394],{"class":789},"user",[772,3396,3397],{"class":778}," as",[772,3399,940],{"class":793},[772,3401,3402],{"class":827}," orgId",[772,3404,3057],{"class":793},[772,3406,3118],{"class":1310},[772,3408,946],{"class":793},[772,3410,3411],{"class":793}," |",[772,3413,3414],{"class":1310}," undefined\n",[772,3416,3417,3420,3422,3425,3427,3430,3433,3436,3439],{"class":774,"line":3151},[772,3418,3419],{"class":778},"      if",[772,3421,842],{"class":827},[772,3423,3424],{"class":793},"!",[772,3426,3394],{"class":789},[772,3428,3429],{"class":793},"?.",[772,3431,3432],{"class":789},"orgId",[772,3434,3435],{"class":827},") ",[772,3437,3438],{"class":778},"return",[772,3440,3414],{"class":793},[772,3442,3443,3446,3448,3451,3453,3455,3457,3459],{"class":774,"line":3171},[772,3444,3445],{"class":778},"      return",[772,3447,940],{"class":793},[772,3449,3450],{"class":827}," id",[772,3452,1149],{"class":793},[772,3454,3385],{"class":789},[772,3456,816],{"class":793},[772,3458,3432],{"class":789},[772,3460,3461],{"class":793}," }\n",[772,3463,3464],{"class":774,"line":3176},[772,3465,3466],{"class":793},"    },\n",[772,3468,3470,3473,3476],{"class":774,"line":3469},18,[772,3471,3472],{"class":793},"  },",[772,3474,3475],{"class":789}," options",[772,3477,919],{"class":827},[772,3479,3481],{"class":774,"line":3480},19,[772,3482,1370],{"class":793},[622,3484,3485,3487],{},[634,3486,636],{}," automatically:",[655,3489,3490,3498,3512],{},[658,3491,3492,3493,3495,3496],{},"skips when ",[634,3494,644],{}," returns ",[634,3497,696],{},[658,3499,3500,3501,3504,3505,3508,3509,800],{},"merges the result into ",[634,3502,3503],{},"ctx.event[field]"," via ",[634,3506,3507],{},"mergeEventField"," (respecting ",[634,3510,3511],{},"options.overwrite",[658,3513,3514,3515,3518],{},"catches errors and logs them as ",[634,3516,3517],{},"[evlog\u002F\u003Cname>]"," instead of breaking the pipeline",[622,3520,3521],{},"Wire it like any other enricher:",[759,3523,3524,3619,3728,3853,3948,4056,4163,4250,4337,4424,4511,4594,4687,4772],{},[762,3525,3527],{"className":764,"code":3526,"filename":250,"language":766,"meta":767,"style":768},"import { createTenantEnricher } from '~\u002Fserver\u002Futils\u002Fenrichers'\n\nexport default defineNitroPlugin((nitroApp) => {\n  const enrichTenant = createTenantEnricher()\n  nitroApp.hooks.hook('evlog:enrich', enrichTenant)\n})\n",[634,3528,3529,3548,3552,3572,3587,3613],{"__ignoreMap":768},[772,3530,3531,3533,3535,3537,3539,3541,3543,3546],{"class":774,"line":775},[772,3532,937],{"class":778},[772,3534,940],{"class":793},[772,3536,3291],{"class":789},[772,3538,946],{"class":793},[772,3540,949],{"class":778},[772,3542,952],{"class":793},[772,3544,3545],{"class":833},"~\u002Fserver\u002Futils\u002Fenrichers",[772,3547,958],{"class":793},[772,3549,3550],{"class":774,"line":810},[772,3551,1103],{"emptyLinePlaceholder":1102},[772,3553,3554,3556,3558,3560,3562,3564,3566,3568,3570],{"class":774,"line":854},[772,3555,779],{"class":778},[772,3557,782],{"class":778},[772,3559,786],{"class":785},[772,3561,790],{"class":789},[772,3563,790],{"class":793},[772,3565,797],{"class":796},[772,3567,800],{"class":793},[772,3569,804],{"class":803},[772,3571,807],{"class":793},[772,3573,3574,3577,3580,3582,3584],{"class":774,"line":886},[772,3575,3576],{"class":803},"  const",[772,3578,3579],{"class":789}," enrichTenant",[772,3581,870],{"class":793},[772,3583,3291],{"class":785},[772,3585,3586],{"class":827},"()\n",[772,3588,3589,3591,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611],{"class":774,"line":913},[772,3590,813],{"class":789},[772,3592,816],{"class":793},[772,3594,819],{"class":789},[772,3596,816],{"class":793},[772,3598,824],{"class":785},[772,3600,790],{"class":827},[772,3602,830],{"class":793},[772,3604,834],{"class":833},[772,3606,830],{"class":793},[772,3608,839],{"class":793},[772,3610,3579],{"class":789},[772,3612,919],{"class":827},[772,3614,3615,3617],{"class":774,"line":922},[772,3616,925],{"class":793},[772,3618,919],{"class":789},[762,3620,3622],{"className":764,"code":3621,"filename":265,"language":766,"meta":767,"style":768},"import { definePlugin } from 'nitro'\nimport { createTenantEnricher } from '~\u002Fserver\u002Futils\u002Fenrichers'\n\nexport default definePlugin((nitroApp) => {\n  const enrichTenant = createTenantEnricher()\n  nitroApp.hooks.hook('evlog:enrich', enrichTenant)\n})\n",[634,3623,3624,3642,3660,3664,3684,3696,3722],{"__ignoreMap":768},[772,3625,3626,3628,3630,3632,3634,3636,3638,3640],{"class":774,"line":775},[772,3627,937],{"class":778},[772,3629,940],{"class":793},[772,3631,943],{"class":789},[772,3633,946],{"class":793},[772,3635,949],{"class":778},[772,3637,952],{"class":793},[772,3639,955],{"class":833},[772,3641,958],{"class":793},[772,3643,3644,3646,3648,3650,3652,3654,3656,3658],{"class":774,"line":810},[772,3645,937],{"class":778},[772,3647,940],{"class":793},[772,3649,3291],{"class":789},[772,3651,946],{"class":793},[772,3653,949],{"class":778},[772,3655,952],{"class":793},[772,3657,3545],{"class":833},[772,3659,958],{"class":793},[772,3661,3662],{"class":774,"line":854},[772,3663,1103],{"emptyLinePlaceholder":1102},[772,3665,3666,3668,3670,3672,3674,3676,3678,3680,3682],{"class":774,"line":886},[772,3667,779],{"class":778},[772,3669,782],{"class":778},[772,3671,943],{"class":785},[772,3673,790],{"class":789},[772,3675,790],{"class":793},[772,3677,797],{"class":796},[772,3679,800],{"class":793},[772,3681,804],{"class":803},[772,3683,807],{"class":793},[772,3685,3686,3688,3690,3692,3694],{"class":774,"line":913},[772,3687,3576],{"class":803},[772,3689,3579],{"class":789},[772,3691,870],{"class":793},[772,3693,3291],{"class":785},[772,3695,3586],{"class":827},[772,3697,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716,3718,3720],{"class":774,"line":922},[772,3699,813],{"class":789},[772,3701,816],{"class":793},[772,3703,819],{"class":789},[772,3705,816],{"class":793},[772,3707,824],{"class":785},[772,3709,790],{"class":827},[772,3711,830],{"class":793},[772,3713,834],{"class":833},[772,3715,830],{"class":793},[772,3717,839],{"class":793},[772,3719,3579],{"class":789},[772,3721,919],{"class":827},[772,3723,3724,3726],{"class":774,"line":1067},[772,3725,925],{"class":793},[772,3727,919],{"class":789},[762,3729,3731],{"className":764,"code":3730,"filename":255,"language":766,"meta":1075,"style":768},"import { createEvlog } from 'evlog\u002Fnext'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\nexport const { withEvlog, useLogger, log, createError } = createEvlog({\n  service: 'my-app',\n  enrich: enrichTenant,\n})\n",[634,3732,3733,3751,3770,3774,3787,3791,3823,3837,3847],{"__ignoreMap":768},[772,3734,3735,3737,3739,3741,3743,3745,3747,3749],{"class":774,"line":775},[772,3736,937],{"class":778},[772,3738,940],{"class":793},[772,3740,1086],{"class":789},[772,3742,946],{"class":793},[772,3744,949],{"class":778},[772,3746,952],{"class":793},[772,3748,1095],{"class":833},[772,3750,958],{"class":793},[772,3752,3753,3755,3757,3759,3761,3763,3765,3768],{"class":774,"line":810},[772,3754,937],{"class":778},[772,3756,940],{"class":793},[772,3758,3291],{"class":789},[772,3760,946],{"class":793},[772,3762,949],{"class":778},[772,3764,952],{"class":793},[772,3766,3767],{"class":833},".\u002Fenrichers",[772,3769,958],{"class":793},[772,3771,3772],{"class":774,"line":854},[772,3773,1103],{"emptyLinePlaceholder":1102},[772,3775,3776,3778,3781,3783,3785],{"class":774,"line":886},[772,3777,1295],{"class":803},[772,3779,3780],{"class":789}," enrichTenant ",[772,3782,1301],{"class":793},[772,3784,3291],{"class":785},[772,3786,3586],{"class":789},[772,3788,3789],{"class":774,"line":913},[772,3790,1103],{"emptyLinePlaceholder":1102},[772,3792,3793,3795,3797,3799,3801,3803,3805,3807,3809,3811,3813,3815,3817,3819,3821],{"class":774,"line":922},[772,3794,779],{"class":778},[772,3796,1110],{"class":803},[772,3798,940],{"class":793},[772,3800,1115],{"class":789},[772,3802,839],{"class":793},[772,3804,1120],{"class":789},[772,3806,839],{"class":793},[772,3808,1125],{"class":789},[772,3810,839],{"class":793},[772,3812,1130],{"class":789},[772,3814,925],{"class":793},[772,3816,870],{"class":793},[772,3818,1086],{"class":785},[772,3820,790],{"class":789},[772,3822,1141],{"class":793},[772,3824,3825,3827,3829,3831,3833,3835],{"class":774,"line":1067},[772,3826,1146],{"class":827},[772,3828,1149],{"class":793},[772,3830,952],{"class":793},[772,3832,1154],{"class":833},[772,3834,830],{"class":793},[772,3836,1159],{"class":793},[772,3838,3839,3841,3843,3845],{"class":774,"line":1227},[772,3840,1164],{"class":827},[772,3842,1149],{"class":793},[772,3844,3579],{"class":789},[772,3846,1159],{"class":793},[772,3848,3849,3851],{"class":774,"line":1233},[772,3850,925],{"class":793},[772,3852,919],{"class":789},[762,3854,3856],{"className":764,"code":3855,"filename":260,"language":766,"meta":1241,"style":768},"import { createEvlogHooks } from 'evlog\u002Fsveltekit'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\nexport const { handle, handleError } = createEvlogHooks({ enrich: enrichTenant })\n",[634,3857,3858,3876,3894,3898,3910,3914],{"__ignoreMap":768},[772,3859,3860,3862,3864,3866,3868,3870,3872,3874],{"class":774,"line":775},[772,3861,937],{"class":778},[772,3863,940],{"class":793},[772,3865,1252],{"class":789},[772,3867,946],{"class":793},[772,3869,949],{"class":778},[772,3871,952],{"class":793},[772,3873,1261],{"class":833},[772,3875,958],{"class":793},[772,3877,3878,3880,3882,3884,3886,3888,3890,3892],{"class":774,"line":810},[772,3879,937],{"class":778},[772,3881,940],{"class":793},[772,3883,3291],{"class":789},[772,3885,946],{"class":793},[772,3887,949],{"class":778},[772,3889,952],{"class":793},[772,3891,3767],{"class":833},[772,3893,958],{"class":793},[772,3895,3896],{"class":774,"line":854},[772,3897,1103],{"emptyLinePlaceholder":1102},[772,3899,3900,3902,3904,3906,3908],{"class":774,"line":886},[772,3901,1295],{"class":803},[772,3903,3780],{"class":789},[772,3905,1301],{"class":793},[772,3907,3291],{"class":785},[772,3909,3586],{"class":789},[772,3911,3912],{"class":774,"line":913},[772,3913,1103],{"emptyLinePlaceholder":1102},[772,3915,3916,3918,3920,3922,3924,3926,3928,3930,3932,3934,3936,3938,3940,3942,3944,3946],{"class":774,"line":922},[772,3917,779],{"class":778},[772,3919,1110],{"class":803},[772,3921,940],{"class":793},[772,3923,1385],{"class":789},[772,3925,839],{"class":793},[772,3927,1390],{"class":789},[772,3929,925],{"class":793},[772,3931,870],{"class":793},[772,3933,1252],{"class":785},[772,3935,790],{"class":789},[772,3937,1401],{"class":793},[772,3939,1404],{"class":827},[772,3941,1149],{"class":793},[772,3943,3780],{"class":789},[772,3945,925],{"class":793},[772,3947,919],{"class":789},[762,3949,3950],{"className":764,"code":3621,"filename":270,"language":766,"meta":767,"style":768},[634,3951,3952,3970,3988,3992,4012,4024,4050],{"__ignoreMap":768},[772,3953,3954,3956,3958,3960,3962,3964,3966,3968],{"class":774,"line":775},[772,3955,937],{"class":778},[772,3957,940],{"class":793},[772,3959,943],{"class":789},[772,3961,946],{"class":793},[772,3963,949],{"class":778},[772,3965,952],{"class":793},[772,3967,955],{"class":833},[772,3969,958],{"class":793},[772,3971,3972,3974,3976,3978,3980,3982,3984,3986],{"class":774,"line":810},[772,3973,937],{"class":778},[772,3975,940],{"class":793},[772,3977,3291],{"class":789},[772,3979,946],{"class":793},[772,3981,949],{"class":778},[772,3983,952],{"class":793},[772,3985,3545],{"class":833},[772,3987,958],{"class":793},[772,3989,3990],{"class":774,"line":854},[772,3991,1103],{"emptyLinePlaceholder":1102},[772,3993,3994,3996,3998,4000,4002,4004,4006,4008,4010],{"class":774,"line":886},[772,3995,779],{"class":778},[772,3997,782],{"class":778},[772,3999,943],{"class":785},[772,4001,790],{"class":789},[772,4003,790],{"class":793},[772,4005,797],{"class":796},[772,4007,800],{"class":793},[772,4009,804],{"class":803},[772,4011,807],{"class":793},[772,4013,4014,4016,4018,4020,4022],{"class":774,"line":913},[772,4015,3576],{"class":803},[772,4017,3579],{"class":789},[772,4019,870],{"class":793},[772,4021,3291],{"class":785},[772,4023,3586],{"class":827},[772,4025,4026,4028,4030,4032,4034,4036,4038,4040,4042,4044,4046,4048],{"class":774,"line":922},[772,4027,813],{"class":789},[772,4029,816],{"class":793},[772,4031,819],{"class":789},[772,4033,816],{"class":793},[772,4035,824],{"class":785},[772,4037,790],{"class":827},[772,4039,830],{"class":793},[772,4041,834],{"class":833},[772,4043,830],{"class":793},[772,4045,839],{"class":793},[772,4047,3579],{"class":789},[772,4049,919],{"class":827},[772,4051,4052,4054],{"class":774,"line":1067},[772,4053,925],{"class":793},[772,4055,919],{"class":789},[762,4057,4059],{"className":764,"code":4058,"filename":300,"language":766,"meta":1555,"style":768},"import { evlog } from 'evlog\u002Freact-router'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\nexport const middleware: Route.MiddlewareFunction[] = [\n  evlog({ enrich: enrichTenant }),\n]\n",[634,4060,4061,4079,4097,4101,4113,4117,4139,4159],{"__ignoreMap":768},[772,4062,4063,4065,4067,4069,4071,4073,4075,4077],{"class":774,"line":775},[772,4064,937],{"class":778},[772,4066,940],{"class":793},[772,4068,1566],{"class":789},[772,4070,946],{"class":793},[772,4072,949],{"class":778},[772,4074,952],{"class":793},[772,4076,1575],{"class":833},[772,4078,958],{"class":793},[772,4080,4081,4083,4085,4087,4089,4091,4093,4095],{"class":774,"line":810},[772,4082,937],{"class":778},[772,4084,940],{"class":793},[772,4086,3291],{"class":789},[772,4088,946],{"class":793},[772,4090,949],{"class":778},[772,4092,952],{"class":793},[772,4094,3767],{"class":833},[772,4096,958],{"class":793},[772,4098,4099],{"class":774,"line":854},[772,4100,1103],{"emptyLinePlaceholder":1102},[772,4102,4103,4105,4107,4109,4111],{"class":774,"line":886},[772,4104,1295],{"class":803},[772,4106,3780],{"class":789},[772,4108,1301],{"class":793},[772,4110,3291],{"class":785},[772,4112,3586],{"class":789},[772,4114,4115],{"class":774,"line":913},[772,4116,1103],{"emptyLinePlaceholder":1102},[772,4118,4119,4121,4123,4125,4127,4129,4131,4133,4135,4137],{"class":774,"line":922},[772,4120,779],{"class":778},[772,4122,1110],{"class":803},[772,4124,1688],{"class":789},[772,4126,1149],{"class":793},[772,4128,1693],{"class":1310},[772,4130,816],{"class":793},[772,4132,1698],{"class":1310},[772,4134,1701],{"class":789},[772,4136,1301],{"class":793},[772,4138,1706],{"class":789},[772,4140,4141,4143,4145,4147,4149,4151,4153,4155,4157],{"class":774,"line":1067},[772,4142,1712],{"class":785},[772,4144,790],{"class":789},[772,4146,1401],{"class":793},[772,4148,1404],{"class":827},[772,4150,1149],{"class":793},[772,4152,3780],{"class":789},[772,4154,925],{"class":793},[772,4156,800],{"class":789},[772,4158,1159],{"class":793},[772,4160,4161],{"class":774,"line":1227},[772,4162,1734],{"class":789},[762,4164,4166],{"className":764,"code":4165,"filename":285,"language":766,"meta":1738,"style":768},"import { evlog } from 'evlog\u002Fhono'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\napp.use(evlog({ enrich: enrichTenant }))\n",[634,4167,4168,4186,4204,4208,4220,4224],{"__ignoreMap":768},[772,4169,4170,4172,4174,4176,4178,4180,4182,4184],{"class":774,"line":775},[772,4171,937],{"class":778},[772,4173,940],{"class":793},[772,4175,1566],{"class":789},[772,4177,946],{"class":793},[772,4179,949],{"class":778},[772,4181,952],{"class":793},[772,4183,1757],{"class":833},[772,4185,958],{"class":793},[772,4187,4188,4190,4192,4194,4196,4198,4200,4202],{"class":774,"line":810},[772,4189,937],{"class":778},[772,4191,940],{"class":793},[772,4193,3291],{"class":789},[772,4195,946],{"class":793},[772,4197,949],{"class":778},[772,4199,952],{"class":793},[772,4201,3767],{"class":833},[772,4203,958],{"class":793},[772,4205,4206],{"class":774,"line":854},[772,4207,1103],{"emptyLinePlaceholder":1102},[772,4209,4210,4212,4214,4216,4218],{"class":774,"line":886},[772,4211,1295],{"class":803},[772,4213,3780],{"class":789},[772,4215,1301],{"class":793},[772,4217,3291],{"class":785},[772,4219,3586],{"class":789},[772,4221,4222],{"class":774,"line":913},[772,4223,1103],{"emptyLinePlaceholder":1102},[772,4225,4226,4228,4230,4232,4234,4236,4238,4240,4242,4244,4246,4248],{"class":774,"line":922},[772,4227,1866],{"class":789},[772,4229,816],{"class":793},[772,4231,1871],{"class":785},[772,4233,790],{"class":789},[772,4235,1284],{"class":785},[772,4237,790],{"class":789},[772,4239,1401],{"class":793},[772,4241,1404],{"class":827},[772,4243,1149],{"class":793},[772,4245,3780],{"class":789},[772,4247,925],{"class":793},[772,4249,1890],{"class":789},[762,4251,4253],{"className":764,"code":4252,"filename":280,"language":766,"meta":1738,"style":768},"import { evlog } from 'evlog\u002Fexpress'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\napp.use(evlog({ enrich: enrichTenant }))\n",[634,4254,4255,4273,4291,4295,4307,4311],{"__ignoreMap":768},[772,4256,4257,4259,4261,4263,4265,4267,4269,4271],{"class":774,"line":775},[772,4258,937],{"class":778},[772,4260,940],{"class":793},[772,4262,1566],{"class":789},[772,4264,946],{"class":793},[772,4266,949],{"class":778},[772,4268,952],{"class":793},[772,4270,1912],{"class":833},[772,4272,958],{"class":793},[772,4274,4275,4277,4279,4281,4283,4285,4287,4289],{"class":774,"line":810},[772,4276,937],{"class":778},[772,4278,940],{"class":793},[772,4280,3291],{"class":789},[772,4282,946],{"class":793},[772,4284,949],{"class":778},[772,4286,952],{"class":793},[772,4288,3767],{"class":833},[772,4290,958],{"class":793},[772,4292,4293],{"class":774,"line":854},[772,4294,1103],{"emptyLinePlaceholder":1102},[772,4296,4297,4299,4301,4303,4305],{"class":774,"line":886},[772,4298,1295],{"class":803},[772,4300,3780],{"class":789},[772,4302,1301],{"class":793},[772,4304,3291],{"class":785},[772,4306,3586],{"class":789},[772,4308,4309],{"class":774,"line":913},[772,4310,1103],{"emptyLinePlaceholder":1102},[772,4312,4313,4315,4317,4319,4321,4323,4325,4327,4329,4331,4333,4335],{"class":774,"line":922},[772,4314,1866],{"class":789},[772,4316,816],{"class":793},[772,4318,1871],{"class":785},[772,4320,790],{"class":789},[772,4322,1284],{"class":785},[772,4324,790],{"class":789},[772,4326,1401],{"class":793},[772,4328,1404],{"class":827},[772,4330,1149],{"class":793},[772,4332,3780],{"class":789},[772,4334,925],{"class":793},[772,4336,1890],{"class":789},[762,4338,4340],{"className":764,"code":4339,"filename":290,"language":766,"meta":1738,"style":768},"import { evlog } from 'evlog\u002Ffastify'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\nawait app.register(evlog, { enrich: enrichTenant })\n",[634,4341,4342,4360,4378,4382,4394,4398],{"__ignoreMap":768},[772,4343,4344,4346,4348,4350,4352,4354,4356,4358],{"class":774,"line":775},[772,4345,937],{"class":778},[772,4347,940],{"class":793},[772,4349,1566],{"class":789},[772,4351,946],{"class":793},[772,4353,949],{"class":778},[772,4355,952],{"class":793},[772,4357,2064],{"class":833},[772,4359,958],{"class":793},[772,4361,4362,4364,4366,4368,4370,4372,4374,4376],{"class":774,"line":810},[772,4363,937],{"class":778},[772,4365,940],{"class":793},[772,4367,3291],{"class":789},[772,4369,946],{"class":793},[772,4371,949],{"class":778},[772,4373,952],{"class":793},[772,4375,3767],{"class":833},[772,4377,958],{"class":793},[772,4379,4380],{"class":774,"line":854},[772,4381,1103],{"emptyLinePlaceholder":1102},[772,4383,4384,4386,4388,4390,4392],{"class":774,"line":886},[772,4385,1295],{"class":803},[772,4387,3780],{"class":789},[772,4389,1301],{"class":793},[772,4391,3291],{"class":785},[772,4393,3586],{"class":789},[772,4395,4396],{"class":774,"line":913},[772,4397,1103],{"emptyLinePlaceholder":1102},[772,4399,4400,4402,4404,4406,4408,4410,4412,4414,4416,4418,4420,4422],{"class":774,"line":922},[772,4401,2173],{"class":778},[772,4403,2176],{"class":789},[772,4405,816],{"class":793},[772,4407,2181],{"class":785},[772,4409,2184],{"class":789},[772,4411,839],{"class":793},[772,4413,940],{"class":793},[772,4415,1404],{"class":827},[772,4417,1149],{"class":793},[772,4419,3780],{"class":789},[772,4421,925],{"class":793},[772,4423,919],{"class":789},[762,4425,4427],{"className":764,"code":4426,"filename":295,"language":766,"meta":1738,"style":768},"import { evlog } from 'evlog\u002Felysia'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\napp.use(evlog({ enrich: enrichTenant }))\n",[634,4428,4429,4447,4465,4469,4481,4485],{"__ignoreMap":768},[772,4430,4431,4433,4435,4437,4439,4441,4443,4445],{"class":774,"line":775},[772,4432,937],{"class":778},[772,4434,940],{"class":793},[772,4436,1566],{"class":789},[772,4438,946],{"class":793},[772,4440,949],{"class":778},[772,4442,952],{"class":793},[772,4444,2220],{"class":833},[772,4446,958],{"class":793},[772,4448,4449,4451,4453,4455,4457,4459,4461,4463],{"class":774,"line":810},[772,4450,937],{"class":778},[772,4452,940],{"class":793},[772,4454,3291],{"class":789},[772,4456,946],{"class":793},[772,4458,949],{"class":778},[772,4460,952],{"class":793},[772,4462,3767],{"class":833},[772,4464,958],{"class":793},[772,4466,4467],{"class":774,"line":854},[772,4468,1103],{"emptyLinePlaceholder":1102},[772,4470,4471,4473,4475,4477,4479],{"class":774,"line":886},[772,4472,1295],{"class":803},[772,4474,3780],{"class":789},[772,4476,1301],{"class":793},[772,4478,3291],{"class":785},[772,4480,3586],{"class":789},[772,4482,4483],{"class":774,"line":913},[772,4484,1103],{"emptyLinePlaceholder":1102},[772,4486,4487,4489,4491,4493,4495,4497,4499,4501,4503,4505,4507,4509],{"class":774,"line":922},[772,4488,1866],{"class":789},[772,4490,816],{"class":793},[772,4492,1871],{"class":785},[772,4494,790],{"class":789},[772,4496,1284],{"class":785},[772,4498,790],{"class":789},[772,4500,1401],{"class":793},[772,4502,1404],{"class":827},[772,4504,1149],{"class":793},[772,4506,3780],{"class":789},[772,4508,925],{"class":793},[772,4510,1890],{"class":789},[762,4512,4514],{"className":764,"code":4513,"filename":275,"language":766,"meta":2354,"style":768},"import { EvlogModule } from 'evlog\u002Fnestjs'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\nEvlogModule.forRoot({ enrich: enrichTenant })\n",[634,4515,4516,4534,4552,4556,4568,4572],{"__ignoreMap":768},[772,4517,4518,4520,4522,4524,4526,4528,4530,4532],{"class":774,"line":775},[772,4519,937],{"class":778},[772,4521,940],{"class":793},[772,4523,2365],{"class":789},[772,4525,946],{"class":793},[772,4527,949],{"class":778},[772,4529,952],{"class":793},[772,4531,2374],{"class":833},[772,4533,958],{"class":793},[772,4535,4536,4538,4540,4542,4544,4546,4548,4550],{"class":774,"line":810},[772,4537,937],{"class":778},[772,4539,940],{"class":793},[772,4541,3291],{"class":789},[772,4543,946],{"class":793},[772,4545,949],{"class":778},[772,4547,952],{"class":793},[772,4549,3767],{"class":833},[772,4551,958],{"class":793},[772,4553,4554],{"class":774,"line":854},[772,4555,1103],{"emptyLinePlaceholder":1102},[772,4557,4558,4560,4562,4564,4566],{"class":774,"line":886},[772,4559,1295],{"class":803},[772,4561,3780],{"class":789},[772,4563,1301],{"class":793},[772,4565,3291],{"class":785},[772,4567,3586],{"class":789},[772,4569,4570],{"class":774,"line":913},[772,4571,1103],{"emptyLinePlaceholder":1102},[772,4573,4574,4576,4578,4580,4582,4584,4586,4588,4590,4592],{"class":774,"line":922},[772,4575,2483],{"class":789},[772,4577,816],{"class":793},[772,4579,2488],{"class":785},[772,4581,790],{"class":789},[772,4583,1401],{"class":793},[772,4585,1404],{"class":827},[772,4587,1149],{"class":793},[772,4589,3780],{"class":789},[772,4591,925],{"class":793},[772,4593,919],{"class":789},[762,4595,4597],{"className":764,"code":4596,"filename":319,"language":766,"meta":2506,"style":768},"import { withEvlog } from 'evlog\u002Forpc'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\nconst handler = withEvlog(new RPCHandler(router), { enrich: enrichTenant })\n",[634,4598,4599,4617,4635,4639,4651,4655],{"__ignoreMap":768},[772,4600,4601,4603,4605,4607,4609,4611,4613,4615],{"class":774,"line":775},[772,4602,937],{"class":778},[772,4604,940],{"class":793},[772,4606,1115],{"class":789},[772,4608,946],{"class":793},[772,4610,949],{"class":778},[772,4612,952],{"class":793},[772,4614,2525],{"class":833},[772,4616,958],{"class":793},[772,4618,4619,4621,4623,4625,4627,4629,4631,4633],{"class":774,"line":810},[772,4620,937],{"class":778},[772,4622,940],{"class":793},[772,4624,3291],{"class":789},[772,4626,946],{"class":793},[772,4628,949],{"class":778},[772,4630,952],{"class":793},[772,4632,3767],{"class":833},[772,4634,958],{"class":793},[772,4636,4637],{"class":774,"line":854},[772,4638,1103],{"emptyLinePlaceholder":1102},[772,4640,4641,4643,4645,4647,4649],{"class":774,"line":886},[772,4642,1295],{"class":803},[772,4644,3780],{"class":789},[772,4646,1301],{"class":793},[772,4648,3291],{"class":785},[772,4650,3586],{"class":789},[772,4652,4653],{"class":774,"line":913},[772,4654,1103],{"emptyLinePlaceholder":1102},[772,4656,4657,4659,4661,4663,4665,4667,4669,4671,4673,4675,4677,4679,4681,4683,4685],{"class":774,"line":922},[772,4658,1295],{"class":803},[772,4660,2636],{"class":789},[772,4662,1301],{"class":793},[772,4664,1115],{"class":785},[772,4666,790],{"class":789},[772,4668,2645],{"class":793},[772,4670,2648],{"class":785},[772,4672,2651],{"class":789},[772,4674,839],{"class":793},[772,4676,940],{"class":793},[772,4678,1404],{"class":827},[772,4680,1149],{"class":793},[772,4682,3780],{"class":789},[772,4684,925],{"class":793},[772,4686,919],{"class":789},[762,4688,4690],{"className":764,"code":4689,"filename":305,"language":766,"meta":2669,"style":768},"import { withEvlog } from 'evlog\u002Fworkers'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\nconst enrichTenant = createTenantEnricher()\n\nexport default withEvlog(handler, { enrich: enrichTenant })\n",[634,4691,4692,4710,4728,4732,4744,4748],{"__ignoreMap":768},[772,4693,4694,4696,4698,4700,4702,4704,4706,4708],{"class":774,"line":775},[772,4695,937],{"class":778},[772,4697,940],{"class":793},[772,4699,1115],{"class":789},[772,4701,946],{"class":793},[772,4703,949],{"class":778},[772,4705,952],{"class":793},[772,4707,2688],{"class":833},[772,4709,958],{"class":793},[772,4711,4712,4714,4716,4718,4720,4722,4724,4726],{"class":774,"line":810},[772,4713,937],{"class":778},[772,4715,940],{"class":793},[772,4717,3291],{"class":789},[772,4719,946],{"class":793},[772,4721,949],{"class":778},[772,4723,952],{"class":793},[772,4725,3767],{"class":833},[772,4727,958],{"class":793},[772,4729,4730],{"class":774,"line":854},[772,4731,1103],{"emptyLinePlaceholder":1102},[772,4733,4734,4736,4738,4740,4742],{"class":774,"line":886},[772,4735,1295],{"class":803},[772,4737,3780],{"class":789},[772,4739,1301],{"class":793},[772,4741,3291],{"class":785},[772,4743,3586],{"class":789},[772,4745,4746],{"class":774,"line":913},[772,4747,1103],{"emptyLinePlaceholder":1102},[772,4749,4750,4752,4754,4756,4758,4760,4762,4764,4766,4768,4770],{"class":774,"line":922},[772,4751,779],{"class":778},[772,4753,782],{"class":778},[772,4755,1115],{"class":785},[772,4757,2803],{"class":789},[772,4759,839],{"class":793},[772,4761,940],{"class":793},[772,4763,1404],{"class":827},[772,4765,1149],{"class":793},[772,4767,3780],{"class":789},[772,4769,925],{"class":793},[772,4771,919],{"class":789},[762,4773,4775],{"className":764,"code":4774,"filename":310,"language":766,"meta":768,"style":768},"import { initLogger } from 'evlog'\nimport { enricherPlugin } from 'evlog\u002Ftoolkit'\nimport { createTenantEnricher } from '.\u002Fenrichers'\n\ninitLogger({\n  plugins: [enricherPlugin('tenant', createTenantEnricher())],\n})\n",[634,4776,4777,4795,4813,4831,4835,4843,4871],{"__ignoreMap":768},[772,4778,4779,4781,4783,4785,4787,4789,4791,4793],{"class":774,"line":775},[772,4780,937],{"class":778},[772,4782,940],{"class":793},[772,4784,2852],{"class":789},[772,4786,946],{"class":793},[772,4788,949],{"class":778},[772,4790,952],{"class":793},[772,4792,1284],{"class":833},[772,4794,958],{"class":793},[772,4796,4797,4799,4801,4803,4805,4807,4809,4811],{"class":774,"line":810},[772,4798,937],{"class":778},[772,4800,940],{"class":793},[772,4802,2871],{"class":789},[772,4804,946],{"class":793},[772,4806,949],{"class":778},[772,4808,952],{"class":793},[772,4810,640],{"class":833},[772,4812,958],{"class":793},[772,4814,4815,4817,4819,4821,4823,4825,4827,4829],{"class":774,"line":854},[772,4816,937],{"class":778},[772,4818,940],{"class":793},[772,4820,3291],{"class":789},[772,4822,946],{"class":793},[772,4824,949],{"class":778},[772,4826,952],{"class":793},[772,4828,3767],{"class":833},[772,4830,958],{"class":793},[772,4832,4833],{"class":774,"line":886},[772,4834,1103],{"emptyLinePlaceholder":1102},[772,4836,4837,4839,4841],{"class":774,"line":913},[772,4838,2968],{"class":785},[772,4840,790],{"class":789},[772,4842,1141],{"class":793},[772,4844,4845,4848,4850,4852,4854,4856,4858,4860,4862,4864,4866,4869],{"class":774,"line":922},[772,4846,4847],{"class":827},"  plugins",[772,4849,1149],{"class":793},[772,4851,2980],{"class":789},[772,4853,2983],{"class":785},[772,4855,790],{"class":789},[772,4857,830],{"class":793},[772,4859,3338],{"class":833},[772,4861,830],{"class":793},[772,4863,839],{"class":793},[772,4865,3291],{"class":785},[772,4867,4868],{"class":789},"())]",[772,4870,1159],{"class":793},[772,4872,4873,4875],{"class":774,"line":1067},[772,4874,925],{"class":793},[772,4876,919],{"class":789},[751,4878,4880],{"id":4879},"combining-with-built-in-enrichers","Combining with built-in enrichers",[622,4882,4883,4884,4887,4888,637,4891,4893],{},"Custom and built-in enrichers compose freely, since they're all just ",[634,4885,4886],{},"(ctx: EnrichContext) => void"," functions. Use ",[634,4889,4890],{},"composeEnrichers",[634,4892,640],{}," to combine them into a single callable:",[762,4895,4898],{"className":764,"code":4896,"filename":4897,"language":766,"meta":768,"style":768},"import { composeEnrichers, defineEnricher } from 'evlog\u002Ftoolkit'\nimport { createDefaultEnrichers } from 'evlog\u002Fenrichers'\n\nconst region = defineEnricher({\n  name: 'region',\n  field: 'region',\n  compute: () => process.env.FLY_REGION ?? process.env.AWS_REGION,\n})\n\nexport const enrich = composeEnrichers([\n  createDefaultEnrichers(), \u002F\u002F userAgent + geo + requestSize + traceContext\n  region,\n])\n","enrichers.ts",[634,4899,4900,4923,4943,4947,4962,4978,4993,5032,5038,5042,5058,5071,5078],{"__ignoreMap":768},[772,4901,4902,4904,4906,4909,4911,4913,4915,4917,4919,4921],{"class":774,"line":775},[772,4903,937],{"class":778},[772,4905,940],{"class":793},[772,4907,4908],{"class":789}," composeEnrichers",[772,4910,839],{"class":793},[772,4912,3224],{"class":789},[772,4914,946],{"class":793},[772,4916,949],{"class":778},[772,4918,952],{"class":793},[772,4920,640],{"class":833},[772,4922,958],{"class":793},[772,4924,4925,4927,4929,4932,4934,4936,4938,4941],{"class":774,"line":810},[772,4926,937],{"class":778},[772,4928,940],{"class":793},[772,4930,4931],{"class":789}," createDefaultEnrichers",[772,4933,946],{"class":793},[772,4935,949],{"class":778},[772,4937,952],{"class":793},[772,4939,4940],{"class":833},"evlog\u002Fenrichers",[772,4942,958],{"class":793},[772,4944,4945],{"class":774,"line":854},[772,4946,1103],{"emptyLinePlaceholder":1102},[772,4948,4949,4951,4954,4956,4958,4960],{"class":774,"line":886},[772,4950,1295],{"class":803},[772,4952,4953],{"class":789}," region ",[772,4955,1301],{"class":793},[772,4957,3224],{"class":785},[772,4959,790],{"class":789},[772,4961,1141],{"class":793},[772,4963,4964,4967,4969,4971,4974,4976],{"class":774,"line":913},[772,4965,4966],{"class":827},"  name",[772,4968,1149],{"class":793},[772,4970,952],{"class":793},[772,4972,4973],{"class":833},"region",[772,4975,830],{"class":793},[772,4977,1159],{"class":793},[772,4979,4980,4983,4985,4987,4989,4991],{"class":774,"line":922},[772,4981,4982],{"class":827},"  field",[772,4984,1149],{"class":793},[772,4986,952],{"class":793},[772,4988,4973],{"class":833},[772,4990,830],{"class":793},[772,4992,1159],{"class":793},[772,4994,4995,4998,5000,5003,5005,5007,5009,5011,5013,5016,5019,5021,5023,5025,5027,5030],{"class":774,"line":1067},[772,4996,4997],{"class":785},"  compute",[772,4999,1149],{"class":793},[772,5001,5002],{"class":793}," ()",[772,5004,804],{"class":803},[772,5006,873],{"class":789},[772,5008,816],{"class":793},[772,5010,878],{"class":789},[772,5012,816],{"class":793},[772,5014,5015],{"class":789},"FLY_REGION ",[772,5017,5018],{"class":793},"??",[772,5020,873],{"class":789},[772,5022,816],{"class":793},[772,5024,878],{"class":789},[772,5026,816],{"class":793},[772,5028,5029],{"class":789},"AWS_REGION",[772,5031,1159],{"class":793},[772,5033,5034,5036],{"class":774,"line":1227},[772,5035,925],{"class":793},[772,5037,919],{"class":789},[772,5039,5040],{"class":774,"line":1233},[772,5041,1103],{"emptyLinePlaceholder":1102},[772,5043,5044,5046,5048,5051,5053,5055],{"class":774,"line":1709},[772,5045,779],{"class":778},[772,5047,1110],{"class":803},[772,5049,5050],{"class":789}," enrich ",[772,5052,1301],{"class":793},[772,5054,4908],{"class":785},[772,5056,5057],{"class":789},"([\n",[772,5059,5060,5063,5066,5068],{"class":774,"line":1731},[772,5061,5062],{"class":785},"  createDefaultEnrichers",[772,5064,5065],{"class":789},"()",[772,5067,839],{"class":793},[772,5069,5070],{"class":3033}," \u002F\u002F userAgent + geo + requestSize + traceContext\n",[772,5072,5073,5076],{"class":774,"line":3124},[772,5074,5075],{"class":789},"  region",[772,5077,1159],{"class":793},[772,5079,5080],{"class":774,"line":3130},[772,5081,5082],{"class":789},"])\n",[751,5084,5086],{"id":5085},"more-examples","More examples",[622,5088,5089,5090,5092],{},"Each example below is a plain ",[634,5091,636],{}," call, wired the same way as the basic example, regardless of framework.",[5094,5095,5097],"h3",{"id":5096},"feature-flags","Feature flags",[762,5099,5102],{"className":764,"code":5100,"filename":5101,"language":766,"meta":768,"style":768},"import { defineEnricher } from 'evlog\u002Ftoolkit'\n\nexport const featureFlags = defineEnricher({\n  name: 'feature-flags',\n  field: 'featureFlags',\n  compute: () => ({\n    newCheckout: isEnabled('new-checkout'),\n    betaApi: isEnabled('beta-api'),\n  }),\n})\n","enricher-feature-flags.ts",[634,5103,5104,5122,5126,5143,5157,5172,5186,5209,5231,5239],{"__ignoreMap":768},[772,5105,5106,5108,5110,5112,5114,5116,5118,5120],{"class":774,"line":775},[772,5107,937],{"class":778},[772,5109,940],{"class":793},[772,5111,3224],{"class":789},[772,5113,946],{"class":793},[772,5115,949],{"class":778},[772,5117,952],{"class":793},[772,5119,640],{"class":833},[772,5121,958],{"class":793},[772,5123,5124],{"class":774,"line":810},[772,5125,1103],{"emptyLinePlaceholder":1102},[772,5127,5128,5130,5132,5135,5137,5139,5141],{"class":774,"line":854},[772,5129,779],{"class":778},[772,5131,1110],{"class":803},[772,5133,5134],{"class":789}," featureFlags ",[772,5136,1301],{"class":793},[772,5138,3224],{"class":785},[772,5140,790],{"class":789},[772,5142,1141],{"class":793},[772,5144,5145,5147,5149,5151,5153,5155],{"class":774,"line":886},[772,5146,4966],{"class":827},[772,5148,1149],{"class":793},[772,5150,952],{"class":793},[772,5152,5096],{"class":833},[772,5154,830],{"class":793},[772,5156,1159],{"class":793},[772,5158,5159,5161,5163,5165,5168,5170],{"class":774,"line":913},[772,5160,4982],{"class":827},[772,5162,1149],{"class":793},[772,5164,952],{"class":793},[772,5166,5167],{"class":833},"featureFlags",[772,5169,830],{"class":793},[772,5171,1159],{"class":793},[772,5173,5174,5176,5178,5180,5182,5184],{"class":774,"line":922},[772,5175,4997],{"class":785},[772,5177,1149],{"class":793},[772,5179,5002],{"class":793},[772,5181,804],{"class":803},[772,5183,842],{"class":789},[772,5185,1141],{"class":793},[772,5187,5188,5191,5193,5196,5198,5200,5203,5205,5207],{"class":774,"line":1067},[772,5189,5190],{"class":827},"    newCheckout",[772,5192,1149],{"class":793},[772,5194,5195],{"class":785}," isEnabled",[772,5197,790],{"class":789},[772,5199,830],{"class":793},[772,5201,5202],{"class":833},"new-checkout",[772,5204,830],{"class":793},[772,5206,800],{"class":789},[772,5208,1159],{"class":793},[772,5210,5211,5214,5216,5218,5220,5222,5225,5227,5229],{"class":774,"line":1227},[772,5212,5213],{"class":827},"    betaApi",[772,5215,1149],{"class":793},[772,5217,5195],{"class":785},[772,5219,790],{"class":789},[772,5221,830],{"class":793},[772,5223,5224],{"class":833},"beta-api",[772,5226,830],{"class":793},[772,5228,800],{"class":789},[772,5230,1159],{"class":793},[772,5232,5233,5235,5237],{"class":774,"line":1233},[772,5234,916],{"class":793},[772,5236,800],{"class":789},[772,5238,1159],{"class":793},[772,5240,5241,5243],{"class":774,"line":1709},[772,5242,925],{"class":793},[772,5244,919],{"class":789},[5094,5246,5248],{"id":5247},"response-time-classification","Response time classification",[762,5250,5253],{"className":764,"code":5251,"filename":5252,"language":766,"meta":768,"style":768},"import { defineEnricher } from 'evlog\u002Ftoolkit'\n\nexport const performanceTier = defineEnricher\u003Cstring>({\n  name: 'performance-tier',\n  field: 'performanceTier',\n  compute: ({ event }) => {\n    const durationMs = event.durationMs\n    if (durationMs === undefined) return undefined\n    if (durationMs \u003C 100) return 'fast'\n    if (durationMs \u003C 500) return 'normal'\n    if (durationMs \u003C 2000) return 'slow'\n    return 'critical'\n  },\n})\n","enricher-perf-tier.ts",[634,5254,5255,5273,5277,5300,5315,5330,5346,5363,5385,5411,5435,5459,5471,5475],{"__ignoreMap":768},[772,5256,5257,5259,5261,5263,5265,5267,5269,5271],{"class":774,"line":775},[772,5258,937],{"class":778},[772,5260,940],{"class":793},[772,5262,3224],{"class":789},[772,5264,946],{"class":793},[772,5266,949],{"class":778},[772,5268,952],{"class":793},[772,5270,640],{"class":833},[772,5272,958],{"class":793},[772,5274,5275],{"class":774,"line":810},[772,5276,1103],{"emptyLinePlaceholder":1102},[772,5278,5279,5281,5283,5286,5288,5290,5292,5294,5296,5298],{"class":774,"line":854},[772,5280,779],{"class":778},[772,5282,1110],{"class":803},[772,5284,5285],{"class":789}," performanceTier ",[772,5287,1301],{"class":793},[772,5289,3224],{"class":785},[772,5291,3110],{"class":793},[772,5293,3113],{"class":1310},[772,5295,3322],{"class":793},[772,5297,790],{"class":789},[772,5299,1141],{"class":793},[772,5301,5302,5304,5306,5308,5311,5313],{"class":774,"line":886},[772,5303,4966],{"class":827},[772,5305,1149],{"class":793},[772,5307,952],{"class":793},[772,5309,5310],{"class":833},"performance-tier",[772,5312,830],{"class":793},[772,5314,1159],{"class":793},[772,5316,5317,5319,5321,5323,5326,5328],{"class":774,"line":913},[772,5318,4982],{"class":827},[772,5320,1149],{"class":793},[772,5322,952],{"class":793},[772,5324,5325],{"class":833},"performanceTier",[772,5327,830],{"class":793},[772,5329,1159],{"class":793},[772,5331,5332,5334,5336,5338,5340,5342,5344],{"class":774,"line":922},[772,5333,4997],{"class":785},[772,5335,1149],{"class":793},[772,5337,3367],{"class":793},[772,5339,3370],{"class":796},[772,5341,3373],{"class":793},[772,5343,804],{"class":803},[772,5345,807],{"class":793},[772,5347,5348,5351,5354,5356,5358,5360],{"class":774,"line":1067},[772,5349,5350],{"class":803},"    const",[772,5352,5353],{"class":789}," durationMs",[772,5355,870],{"class":793},[772,5357,3370],{"class":789},[772,5359,816],{"class":793},[772,5361,5362],{"class":789},"durationMs\n",[772,5364,5365,5368,5370,5373,5376,5379,5381,5383],{"class":774,"line":1227},[772,5366,5367],{"class":778},"    if",[772,5369,842],{"class":827},[772,5371,5372],{"class":789},"durationMs",[772,5374,5375],{"class":793}," ===",[772,5377,5378],{"class":793}," undefined",[772,5380,3435],{"class":827},[772,5382,3438],{"class":778},[772,5384,3414],{"class":793},[772,5386,5387,5389,5391,5393,5396,5400,5402,5404,5406,5409],{"class":774,"line":1233},[772,5388,5367],{"class":778},[772,5390,842],{"class":827},[772,5392,5372],{"class":789},[772,5394,5395],{"class":793}," \u003C",[772,5397,5399],{"class":5398},"sbssI"," 100",[772,5401,3435],{"class":827},[772,5403,3438],{"class":778},[772,5405,952],{"class":793},[772,5407,5408],{"class":833},"fast",[772,5410,958],{"class":793},[772,5412,5413,5415,5417,5419,5421,5424,5426,5428,5430,5433],{"class":774,"line":1709},[772,5414,5367],{"class":778},[772,5416,842],{"class":827},[772,5418,5372],{"class":789},[772,5420,5395],{"class":793},[772,5422,5423],{"class":5398}," 500",[772,5425,3435],{"class":827},[772,5427,3438],{"class":778},[772,5429,952],{"class":793},[772,5431,5432],{"class":833},"normal",[772,5434,958],{"class":793},[772,5436,5437,5439,5441,5443,5445,5448,5450,5452,5454,5457],{"class":774,"line":1731},[772,5438,5367],{"class":778},[772,5440,842],{"class":827},[772,5442,5372],{"class":789},[772,5444,5395],{"class":793},[772,5446,5447],{"class":5398}," 2000",[772,5449,3435],{"class":827},[772,5451,3438],{"class":778},[772,5453,952],{"class":793},[772,5455,5456],{"class":833},"slow",[772,5458,958],{"class":793},[772,5460,5461,5464,5466,5469],{"class":774,"line":3124},[772,5462,5463],{"class":778},"    return",[772,5465,952],{"class":793},[772,5467,5468],{"class":833},"critical",[772,5470,958],{"class":793},[772,5472,5473],{"class":774,"line":3130},[772,5474,1230],{"class":793},[772,5476,5477,5479],{"class":774,"line":3140},[772,5478,925],{"class":793},[772,5480,919],{"class":789},[751,5482,5484],{"id":5483},"when-to-reach-for-a-plugin-instead","When to reach for a plugin instead",[622,5486,5487,5488,5491],{},"If your feature mixes enrichment with other hooks (e.g. enrich + tail-sample + side-effect on drain), use a ",[740,5489,5490],{"href":523},"plugin"," instead: one cohesive object covering several lifecycle points.",[751,5493,5495],{"id":5494},"next-steps","Next steps",[655,5497,5498,5504,5509],{},[658,5499,5500,5503],{},[740,5501,5502],{"href":451},"Built-in Enrichers",": User Agent, Geo, Request Size, Trace Context",[658,5505,5506,5508],{},[740,5507,522],{"href":523},": multi-hook extensions (drain + enrich + keep in one object)",[658,5510,5511,5513],{},[740,5512,158],{"href":163},": send enriched events to external services",[5515,5516,5517],"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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":768,"searchDepth":810,"depth":810,"links":5519},[5520,5521,5522,5524,5525,5529,5530],{"id":753,"depth":810,"text":754},{"id":3004,"depth":810,"text":3005},{"id":3200,"depth":810,"text":5523},"Recommended pattern: defineEnricher",{"id":4879,"depth":810,"text":4880},{"id":5085,"depth":810,"text":5086,"children":5526},[5527,5528],{"id":5096,"depth":854,"text":5097},{"id":5247,"depth":854,"text":5248},{"id":5483,"depth":810,"text":5484},{"id":5494,"depth":810,"text":5495},"Write an enricher that adds deployment metadata, tenant ids, feature flags, or anything computed. Error isolation and merging are handled.","md",[5534,5537],{"label":5502,"icon":507,"to":451,"color":5535,"variant":5536},"neutral","subtle",{"label":522,"icon":497,"to":523,"color":5535,"variant":5536},{},{"title":526,"icon":453},{"title":614,"description":5531},"X092aK3dZQ6ttI0SQbBXuCsW48nUyq-dIxENJAwz8XQ",[5543,5545],{"title":522,"path":523,"stem":524,"description":5544,"icon":497,"children":-1},"definePlugin is evlog's canonical extension point: opt into any subset of the lifecycle hooks from one cohesive object.",{"title":530,"path":531,"stem":532,"description":5546,"icon":69,"children":-1},"Decide after the fact whether to keep an event, knowing its status, duration, and errors. Keep every error, throw away healthy noise.",1791705336373]