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