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