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