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