[{"data":1,"prerenderedAt":3592},["ShallowReactive",2],{"navigation_docs":3,"-learn-simple-logging":525,"-learn-simple-logging-surround":3587},[4,30,80,128,308,440,495],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"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",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"CLI","\u002Fcli","3.cli",[85,88,93,98,103,108,113,118,123],{"title":36,"path":86,"stem":87,"icon":44},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":89,"path":90,"stem":91,"icon":92},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":94,"path":95,"stem":96,"icon":97},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":99,"path":100,"stem":101,"icon":102},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":104,"path":105,"stem":106,"icon":107},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":109,"path":110,"stem":111,"icon":112},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":114,"path":115,"stem":116,"icon":117},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":119,"path":120,"stem":121,"icon":122},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":124,"path":125,"stem":126,"icon":127},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":129,"path":130,"stem":131,"children":132,"page":29},"Integrate","\u002Fintegrate","4.integrate",[133,137,220],{"title":36,"path":134,"stem":135,"icon":136},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":138,"path":139,"stem":140,"children":141,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[142,145,175,200],{"title":36,"path":143,"stem":144,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":146,"path":147,"stem":148,"children":149,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[150,155,160,165,170],{"title":151,"path":152,"stem":153,"icon":154},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":156,"path":157,"stem":158,"icon":159},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":161,"path":162,"stem":163,"icon":164},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":166,"path":167,"stem":168,"icon":169},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":171,"path":172,"stem":173,"icon":174},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":176,"path":177,"stem":178,"children":179,"page":29},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[180,185,190,195],{"title":181,"path":182,"stem":183,"icon":184},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":186,"path":187,"stem":188,"icon":189},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":191,"path":192,"stem":193,"icon":194},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":196,"path":197,"stem":198,"icon":199},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":201,"path":202,"stem":203,"children":204,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[205,210,215],{"title":206,"path":207,"stem":208,"icon":209},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":211,"path":212,"stem":213,"icon":214},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":216,"path":217,"stem":218,"icon":219},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":221,"path":222,"stem":223,"children":224,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[225,229,234,239,244,249,254,259,264,269,274,279,284,289,293,298,303],{"title":36,"path":226,"stem":227,"icon":228},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":230,"path":231,"stem":232,"icon":233},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":235,"path":236,"stem":237,"icon":238},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":240,"path":241,"stem":242,"icon":243},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":245,"path":246,"stem":247,"icon":248},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":250,"path":251,"stem":252,"icon":253},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":255,"path":256,"stem":257,"icon":258},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":260,"path":261,"stem":262,"icon":263},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":265,"path":266,"stem":267,"icon":268},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":270,"path":271,"stem":272,"icon":273},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":275,"path":276,"stem":277,"icon":278},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":280,"path":281,"stem":282,"icon":283},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":285,"path":286,"stem":287,"icon":288},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":290,"path":291,"stem":292,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":294,"path":295,"stem":296,"icon":297},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":299,"path":300,"stem":301,"icon":302},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":304,"path":305,"stem":306,"icon":307},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":309,"path":310,"stem":311,"children":312,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[313,316,321,350,377,409,430,435],{"title":36,"path":314,"stem":315,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":317,"path":318,"stem":319,"icon":320},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":322,"icon":323,"path":324,"stem":325,"children":326,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[327,330,335,340,345],{"title":36,"path":328,"stem":329,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":331,"path":332,"stem":333,"icon":334},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":336,"path":337,"stem":338,"icon":339},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":341,"path":342,"stem":343,"icon":344},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":346,"path":347,"stem":348,"icon":349},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":351,"icon":352,"path":353,"stem":354,"children":355,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[356,359,364,369,373],{"title":36,"path":357,"stem":358,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":360,"path":361,"stem":362,"icon":363},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":365,"path":366,"stem":367,"icon":368},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":370,"path":371,"stem":372,"icon":320},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":374,"path":375,"stem":376,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":378,"icon":379,"path":380,"stem":381,"children":382,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[383,386,391,396,401,405],{"title":36,"path":384,"stem":385,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":387,"path":388,"stem":389,"icon":390},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":392,"path":393,"stem":394,"icon":395},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":397,"path":398,"stem":399,"icon":400},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":402,"path":403,"stem":404,"icon":379},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":406,"path":407,"stem":408,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":346,"icon":107,"path":410,"stem":411,"children":412,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[413,416,421,426],{"title":36,"path":414,"stem":415,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":417,"path":418,"stem":419,"icon":420},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":422,"path":423,"stem":424,"icon":425},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":427,"path":428,"stem":429,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":431,"path":432,"stem":433,"icon":434},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":436,"path":437,"stem":438,"icon":439},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":441,"path":442,"stem":443,"children":444,"page":29},"Extend","\u002Fextend","6.extend",[445,449,454,459,464,468,472,476,480,485,490],{"title":36,"path":446,"stem":447,"icon":448},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":450,"path":451,"stem":452,"icon":453},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":455,"path":456,"stem":457,"icon":458},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":460,"path":461,"stem":462,"icon":463},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":406,"path":465,"stem":466,"icon":467},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":469,"path":470,"stem":471,"icon":448},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":473,"path":474,"stem":475,"icon":434},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":477,"path":478,"stem":479,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":481,"path":482,"stem":483,"icon":484},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":486,"path":487,"stem":488,"icon":489},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":491,"path":492,"stem":493,"icon":494},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":427,"path":496,"stem":497,"children":498,"page":29},"\u002Freference","7.reference",[499,504,507,512,516,521],{"title":500,"path":501,"stem":502,"icon":503},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":374,"path":505,"stem":506,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":508,"path":509,"stem":510,"icon":511},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":513,"path":514,"stem":515,"icon":379},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":517,"path":518,"stem":519,"icon":520},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":522,"path":523,"stem":524,"icon":434},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"id":526,"title":41,"body":527,"description":3577,"extension":3578,"links":3579,"meta":3583,"navigation":3584,"path":42,"seo":3585,"stem":43,"__hash__":3586},"docs\u002F2.learn\u002F1.simple-logging.md",{"type":528,"value":529,"toc":3560},"minimark",[530,543,557,569,573,576,716,726,730,735,738,880,930,934,937,1101,1158,1168,1172,1251,1265,1269,1273,1419,1423,1564,1568,1777,1781,1788,1947,1951,1962,2778,2781,2992,3001,3008,3012,3027,3495,3503,3507,3556],[531,532,533,534,538,539,542],"p",{},"The ",[535,536,537],"code",{},"log"," API is evlog's general-purpose logger. Use it the way you'd use pino, consola, or ",[535,540,541],{},"console.log"," — every call emits a structured event through the same drain pipeline as wide events. The two modes coexist; neither is an upgrade of the other.",[544,545,548,549,553,554,556],"callout",{"color":546,"icon":547},"neutral","i-lucide-globe","Looking for the same API in CLIs, libraries, jobs, and edge? Start with ",[550,551,552],"a",{"href":291},"Standalone TypeScript"," and ",[550,555,285],{"href":286},".",[544,558,560,561,563,564,568],{"color":559,"icon":434},"info","In Nuxt, ",[535,562,537],{}," is ",[565,566,567],"strong",{},"auto-imported",". No import statement needed.",[570,571,417],"h2",{"id":572},"setup",[531,574,575],{},"For standalone projects (non-Nuxt), initialize once at startup:",[577,578,584],"pre",{"className":579,"code":580,"filename":581,"language":582,"meta":583,"style":583},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { initLogger, log } from 'evlog'\n\ninitLogger({\n  env: { service: 'my-app' },\n})\n\nlog.info('app', 'Server started')\n","src\u002Findex.ts","typescript","",[535,585,586,625,632,645,673,682,687],{"__ignoreMap":583},[587,588,591,595,599,603,606,609,612,615,618,622],"span",{"class":589,"line":590},"line",1,[587,592,594],{"class":593},"s7zQu","import",[587,596,598],{"class":597},"sMK4o"," {",[587,600,602],{"class":601},"sTEyZ"," initLogger",[587,604,605],{"class":597},",",[587,607,608],{"class":601}," log",[587,610,611],{"class":597}," }",[587,613,614],{"class":593}," from",[587,616,617],{"class":597}," '",[587,619,621],{"class":620},"sfazB","evlog",[587,623,624],{"class":597},"'\n",[587,626,628],{"class":589,"line":627},2,[587,629,631],{"emptyLinePlaceholder":630},true,"\n",[587,633,635,639,642],{"class":589,"line":634},3,[587,636,638],{"class":637},"s2Zo4","initLogger",[587,640,641],{"class":601},"(",[587,643,644],{"class":597},"{\n",[587,646,648,652,655,657,660,662,664,667,670],{"class":589,"line":647},4,[587,649,651],{"class":650},"swJcz","  env",[587,653,654],{"class":597},":",[587,656,598],{"class":597},[587,658,659],{"class":650}," service",[587,661,654],{"class":597},[587,663,617],{"class":597},[587,665,666],{"class":620},"my-app",[587,668,669],{"class":597},"'",[587,671,672],{"class":597}," },\n",[587,674,676,679],{"class":589,"line":675},5,[587,677,678],{"class":597},"}",[587,680,681],{"class":601},")\n",[587,683,685],{"class":589,"line":684},6,[587,686,631],{"emptyLinePlaceholder":630},[587,688,690,692,694,696,698,700,703,705,707,709,712,714],{"class":589,"line":689},7,[587,691,537],{"class":601},[587,693,556],{"class":597},[587,695,559],{"class":637},[587,697,641],{"class":601},[587,699,669],{"class":597},[587,701,702],{"class":620},"app",[587,704,669],{"class":597},[587,706,605],{"class":597},[587,708,617],{"class":597},[587,710,711],{"class":620},"Server started",[587,713,669],{"class":597},[587,715,681],{"class":601},[544,717,718,721,722,725],{"color":559,"icon":13},[535,719,720],{},"env.service"," defaults to ",[535,723,724],{},"'app'"," if not specified. Only set it if you want a custom service name.",[570,727,729],{"id":728},"two-call-styles","Two Call Styles",[731,732,734],"h3",{"id":733},"tagged-logs","Tagged Logs",[531,736,737],{},"Pass a tag and a message for quick, readable output:",[577,739,741],{"className":579,"code":740,"filename":581,"language":582,"meta":583,"style":583},"import { log } from 'evlog'\n\nlog.info('auth', 'User logged in')\nlog.warn('cache', 'Cache miss for key user:42')\nlog.error('payment', 'Stripe webhook failed')\nlog.debug('router', 'Matched route \u002Fapi\u002Fcheckout')\n",[535,742,743,761,765,793,822,851],{"__ignoreMap":583},[587,744,745,747,749,751,753,755,757,759],{"class":589,"line":590},[587,746,594],{"class":593},[587,748,598],{"class":597},[587,750,608],{"class":601},[587,752,611],{"class":597},[587,754,614],{"class":593},[587,756,617],{"class":597},[587,758,621],{"class":620},[587,760,624],{"class":597},[587,762,763],{"class":589,"line":627},[587,764,631],{"emptyLinePlaceholder":630},[587,766,767,769,771,773,775,777,780,782,784,786,789,791],{"class":589,"line":634},[587,768,537],{"class":601},[587,770,556],{"class":597},[587,772,559],{"class":637},[587,774,641],{"class":601},[587,776,669],{"class":597},[587,778,779],{"class":620},"auth",[587,781,669],{"class":597},[587,783,605],{"class":597},[587,785,617],{"class":597},[587,787,788],{"class":620},"User logged in",[587,790,669],{"class":597},[587,792,681],{"class":601},[587,794,795,797,799,802,804,806,809,811,813,815,818,820],{"class":589,"line":647},[587,796,537],{"class":601},[587,798,556],{"class":597},[587,800,801],{"class":637},"warn",[587,803,641],{"class":601},[587,805,669],{"class":597},[587,807,808],{"class":620},"cache",[587,810,669],{"class":597},[587,812,605],{"class":597},[587,814,617],{"class":597},[587,816,817],{"class":620},"Cache miss for key user:42",[587,819,669],{"class":597},[587,821,681],{"class":601},[587,823,824,826,828,831,833,835,838,840,842,844,847,849],{"class":589,"line":675},[587,825,537],{"class":601},[587,827,556],{"class":597},[587,829,830],{"class":637},"error",[587,832,641],{"class":601},[587,834,669],{"class":597},[587,836,837],{"class":620},"payment",[587,839,669],{"class":597},[587,841,605],{"class":597},[587,843,617],{"class":597},[587,845,846],{"class":620},"Stripe webhook failed",[587,848,669],{"class":597},[587,850,681],{"class":601},[587,852,853,855,857,860,862,864,867,869,871,873,876,878],{"class":589,"line":684},[587,854,537],{"class":601},[587,856,556],{"class":597},[587,858,859],{"class":637},"debug",[587,861,641],{"class":601},[587,863,669],{"class":597},[587,865,866],{"class":620},"router",[587,868,669],{"class":597},[587,870,605],{"class":597},[587,872,617],{"class":597},[587,874,875],{"class":620},"Matched route \u002Fapi\u002Fcheckout",[587,877,669],{"class":597},[587,879,681],{"class":601},[577,881,886],{"className":882,"code":883,"filename":884,"language":885,"meta":583,"style":583},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","10:23:45.612 [auth] User logged in\n10:23:45.613 [cache] Cache miss for key user:42\n10:23:45.614 ERROR [payment] Stripe webhook failed\n10:23:45.615 [router] Matched route \u002Fapi\u002Fcheckout\n","Output (Pretty)","bash",[535,887,888,897,911,922],{"__ignoreMap":583},[587,889,890,894],{"class":589,"line":590},[587,891,893],{"class":892},"sBMFI","10:23:45.612",[587,895,896],{"class":601}," [auth] User logged in\n",[587,898,899,902,905,908],{"class":589,"line":627},[587,900,901],{"class":892},"10:23:45.613",[587,903,904],{"class":601}," [cache] Cache miss ",[587,906,907],{"class":593},"for",[587,909,910],{"class":601}," key user:42\n",[587,912,913,916,919],{"class":589,"line":634},[587,914,915],{"class":892},"10:23:45.614",[587,917,918],{"class":620}," ERROR",[587,920,921],{"class":601}," [payment] Stripe webhook failed\n",[587,923,924,927],{"class":589,"line":647},[587,925,926],{"class":892},"10:23:45.615",[587,928,929],{"class":601}," [router] Matched route \u002Fapi\u002Fcheckout\n",[731,931,933],{"id":932},"structured-events","Structured Events",[531,935,936],{},"Pass an object for rich, queryable events that flow through the drain pipeline:",[577,938,940],{"className":579,"code":939,"filename":581,"language":582,"meta":583,"style":583},"import { log } from 'evlog'\n\nlog.info({ action: 'user_login', userId: 42, method: 'oauth', provider: 'github' })\nlog.error({ action: 'sync_failed', source: 'postgres', target: 's3', error: 'connection_timeout' })\n",[535,941,942,960,964,1032],{"__ignoreMap":583},[587,943,944,946,948,950,952,954,956,958],{"class":589,"line":590},[587,945,594],{"class":593},[587,947,598],{"class":597},[587,949,608],{"class":601},[587,951,611],{"class":597},[587,953,614],{"class":593},[587,955,617],{"class":597},[587,957,621],{"class":620},[587,959,624],{"class":597},[587,961,962],{"class":589,"line":627},[587,963,631],{"emptyLinePlaceholder":630},[587,965,966,968,970,972,974,977,980,982,984,987,989,991,994,996,1000,1002,1005,1007,1009,1012,1014,1016,1019,1021,1023,1026,1028,1030],{"class":589,"line":634},[587,967,537],{"class":601},[587,969,556],{"class":597},[587,971,559],{"class":637},[587,973,641],{"class":601},[587,975,976],{"class":597},"{",[587,978,979],{"class":650}," action",[587,981,654],{"class":597},[587,983,617],{"class":597},[587,985,986],{"class":620},"user_login",[587,988,669],{"class":597},[587,990,605],{"class":597},[587,992,993],{"class":650}," userId",[587,995,654],{"class":597},[587,997,999],{"class":998},"sbssI"," 42",[587,1001,605],{"class":597},[587,1003,1004],{"class":650}," method",[587,1006,654],{"class":597},[587,1008,617],{"class":597},[587,1010,1011],{"class":620},"oauth",[587,1013,669],{"class":597},[587,1015,605],{"class":597},[587,1017,1018],{"class":650}," provider",[587,1020,654],{"class":597},[587,1022,617],{"class":597},[587,1024,1025],{"class":620},"github",[587,1027,669],{"class":597},[587,1029,611],{"class":597},[587,1031,681],{"class":601},[587,1033,1034,1036,1038,1040,1042,1044,1046,1048,1050,1053,1055,1057,1060,1062,1064,1067,1069,1071,1074,1076,1078,1081,1083,1085,1088,1090,1092,1095,1097,1099],{"class":589,"line":647},[587,1035,537],{"class":601},[587,1037,556],{"class":597},[587,1039,830],{"class":637},[587,1041,641],{"class":601},[587,1043,976],{"class":597},[587,1045,979],{"class":650},[587,1047,654],{"class":597},[587,1049,617],{"class":597},[587,1051,1052],{"class":620},"sync_failed",[587,1054,669],{"class":597},[587,1056,605],{"class":597},[587,1058,1059],{"class":650}," source",[587,1061,654],{"class":597},[587,1063,617],{"class":597},[587,1065,1066],{"class":620},"postgres",[587,1068,669],{"class":597},[587,1070,605],{"class":597},[587,1072,1073],{"class":650}," target",[587,1075,654],{"class":597},[587,1077,617],{"class":597},[587,1079,1080],{"class":620},"s3",[587,1082,669],{"class":597},[587,1084,605],{"class":597},[587,1086,1087],{"class":650}," error",[587,1089,654],{"class":597},[587,1091,617],{"class":597},[587,1093,1094],{"class":620},"connection_timeout",[587,1096,669],{"class":597},[587,1098,611],{"class":597},[587,1100,681],{"class":601},[577,1102,1104],{"className":882,"code":1103,"filename":884,"language":885,"meta":583,"style":583},"10:23:45.612 INFO [my-app]\n  ├─ action: user_login\n  ├─ userId: 42\n  ├─ method: oauth\n  └─ provider: github\n",[535,1105,1106,1116,1127,1137,1147],{"__ignoreMap":583},[587,1107,1108,1110,1113],{"class":589,"line":590},[587,1109,893],{"class":892},[587,1111,1112],{"class":620}," INFO",[587,1114,1115],{"class":601}," [my-app]\n",[587,1117,1118,1121,1124],{"class":589,"line":627},[587,1119,1120],{"class":892},"  ├─",[587,1122,1123],{"class":620}," action:",[587,1125,1126],{"class":620}," user_login\n",[587,1128,1129,1131,1134],{"class":589,"line":634},[587,1130,1120],{"class":892},[587,1132,1133],{"class":620}," userId:",[587,1135,1136],{"class":998}," 42\n",[587,1138,1139,1141,1144],{"class":589,"line":647},[587,1140,1120],{"class":892},[587,1142,1143],{"class":620}," method:",[587,1145,1146],{"class":620}," oauth\n",[587,1148,1149,1152,1155],{"class":589,"line":675},[587,1150,1151],{"class":892},"  └─",[587,1153,1154],{"class":620}," provider:",[587,1156,1157],{"class":620}," github\n",[544,1159,1160,1163,1164,1167],{"color":559,"icon":13},[565,1161,1162],{},"Tagged logs"," are optimized for console readability. ",[565,1165,1166],{},"Structured events"," (object form) produce full wide events that flow through the drain pipeline to external services.",[570,1169,1171],{"id":1170},"log-levels","Log Levels",[1173,1174,1175,1191],"table",{},[1176,1177,1178],"thead",{},[1179,1180,1181,1185,1188],"tr",{},[1182,1183,1184],"th",{},"Level",[1182,1186,1187],{},"Method",[1182,1189,1190],{},"When to use",[1192,1193,1194,1209,1223,1237],"tbody",{},[1179,1195,1196,1201,1206],{},[1197,1198,1199],"td",{},[535,1200,559],{},[1197,1202,1203],{},[535,1204,1205],{},"log.info()",[1197,1207,1208],{},"Normal operations: startup, shutdown, successful actions",[1179,1210,1211,1215,1220],{},[1197,1212,1213],{},[535,1214,801],{},[1197,1216,1217],{},[535,1218,1219],{},"log.warn()",[1197,1221,1222],{},"Unexpected but recoverable situations: cache miss, retry, deprecation",[1179,1224,1225,1229,1234],{},[1197,1226,1227],{},[535,1228,830],{},[1197,1230,1231],{},[535,1232,1233],{},"log.error()",[1197,1235,1236],{},"Failures that need attention: API errors, timeouts, invalid state",[1179,1238,1239,1243,1248],{},[1197,1240,1241],{},[535,1242,859],{},[1197,1244,1245],{},[535,1246,1247],{},"log.debug()",[1197,1249,1250],{},"Development-only details: SQL queries, intermediate state, routing",[544,1252,1255,1257,1258,1260,1261,1264],{"color":1253,"icon":1254},"warning","i-lucide-lightbulb",[535,1256,1247],{}," calls can be stripped from production builds using the ",[550,1259,508],{"href":509}," or the Nuxt module's ",[535,1262,1263],{},"strip"," option.",[570,1266,1268],{"id":1267},"common-patterns","Common Patterns",[731,1270,1272],{"id":1271},"application-lifecycle","Application Lifecycle",[577,1274,1276],{"className":579,"code":1275,"filename":581,"language":582,"meta":583,"style":583},"import { log } from 'evlog'\n\nlog.info('app', 'Starting server on port 3000')\nlog.info({ action: 'db_connected', host: 'localhost', database: 'mydb', pool: 10 })\nlog.info('app', 'Ready to accept connections')\n",[535,1277,1278,1296,1300,1327,1392],{"__ignoreMap":583},[587,1279,1280,1282,1284,1286,1288,1290,1292,1294],{"class":589,"line":590},[587,1281,594],{"class":593},[587,1283,598],{"class":597},[587,1285,608],{"class":601},[587,1287,611],{"class":597},[587,1289,614],{"class":593},[587,1291,617],{"class":597},[587,1293,621],{"class":620},[587,1295,624],{"class":597},[587,1297,1298],{"class":589,"line":627},[587,1299,631],{"emptyLinePlaceholder":630},[587,1301,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1323,1325],{"class":589,"line":634},[587,1303,537],{"class":601},[587,1305,556],{"class":597},[587,1307,559],{"class":637},[587,1309,641],{"class":601},[587,1311,669],{"class":597},[587,1313,702],{"class":620},[587,1315,669],{"class":597},[587,1317,605],{"class":597},[587,1319,617],{"class":597},[587,1321,1322],{"class":620},"Starting server on port 3000",[587,1324,669],{"class":597},[587,1326,681],{"class":601},[587,1328,1329,1331,1333,1335,1337,1339,1341,1343,1345,1348,1350,1352,1355,1357,1359,1362,1364,1366,1369,1371,1373,1376,1378,1380,1383,1385,1388,1390],{"class":589,"line":647},[587,1330,537],{"class":601},[587,1332,556],{"class":597},[587,1334,559],{"class":637},[587,1336,641],{"class":601},[587,1338,976],{"class":597},[587,1340,979],{"class":650},[587,1342,654],{"class":597},[587,1344,617],{"class":597},[587,1346,1347],{"class":620},"db_connected",[587,1349,669],{"class":597},[587,1351,605],{"class":597},[587,1353,1354],{"class":650}," host",[587,1356,654],{"class":597},[587,1358,617],{"class":597},[587,1360,1361],{"class":620},"localhost",[587,1363,669],{"class":597},[587,1365,605],{"class":597},[587,1367,1368],{"class":650}," database",[587,1370,654],{"class":597},[587,1372,617],{"class":597},[587,1374,1375],{"class":620},"mydb",[587,1377,669],{"class":597},[587,1379,605],{"class":597},[587,1381,1382],{"class":650}," pool",[587,1384,654],{"class":597},[587,1386,1387],{"class":998}," 10",[587,1389,611],{"class":597},[587,1391,681],{"class":601},[587,1393,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1415,1417],{"class":589,"line":675},[587,1395,537],{"class":601},[587,1397,556],{"class":597},[587,1399,559],{"class":637},[587,1401,641],{"class":601},[587,1403,669],{"class":597},[587,1405,702],{"class":620},[587,1407,669],{"class":597},[587,1409,605],{"class":597},[587,1411,617],{"class":597},[587,1413,1414],{"class":620},"Ready to accept connections",[587,1416,669],{"class":597},[587,1418,681],{"class":601},[731,1420,1422],{"id":1421},"background-tasks","Background Tasks",[577,1424,1427],{"className":579,"code":1425,"filename":1426,"language":582,"meta":583,"style":583},"import { log } from 'evlog'\n\nlog.info({ action: 'cron_started', job: 'cleanup', schedule: '0 *\u002F6 * * *' })\nlog.info({ action: 'cron_completed', job: 'cleanup', deleted: 42, duration: 1200 })\n","src\u002Fjobs\u002Fcleanup.ts",[535,1428,1429,1447,1451,1506],{"__ignoreMap":583},[587,1430,1431,1433,1435,1437,1439,1441,1443,1445],{"class":589,"line":590},[587,1432,594],{"class":593},[587,1434,598],{"class":597},[587,1436,608],{"class":601},[587,1438,611],{"class":597},[587,1440,614],{"class":593},[587,1442,617],{"class":597},[587,1444,621],{"class":620},[587,1446,624],{"class":597},[587,1448,1449],{"class":589,"line":627},[587,1450,631],{"emptyLinePlaceholder":630},[587,1452,1453,1455,1457,1459,1461,1463,1465,1467,1469,1472,1474,1476,1479,1481,1483,1486,1488,1490,1493,1495,1497,1500,1502,1504],{"class":589,"line":634},[587,1454,537],{"class":601},[587,1456,556],{"class":597},[587,1458,559],{"class":637},[587,1460,641],{"class":601},[587,1462,976],{"class":597},[587,1464,979],{"class":650},[587,1466,654],{"class":597},[587,1468,617],{"class":597},[587,1470,1471],{"class":620},"cron_started",[587,1473,669],{"class":597},[587,1475,605],{"class":597},[587,1477,1478],{"class":650}," job",[587,1480,654],{"class":597},[587,1482,617],{"class":597},[587,1484,1485],{"class":620},"cleanup",[587,1487,669],{"class":597},[587,1489,605],{"class":597},[587,1491,1492],{"class":650}," schedule",[587,1494,654],{"class":597},[587,1496,617],{"class":597},[587,1498,1499],{"class":620},"0 *\u002F6 * * *",[587,1501,669],{"class":597},[587,1503,611],{"class":597},[587,1505,681],{"class":601},[587,1507,1508,1510,1512,1514,1516,1518,1520,1522,1524,1527,1529,1531,1533,1535,1537,1539,1541,1543,1546,1548,1550,1552,1555,1557,1560,1562],{"class":589,"line":647},[587,1509,537],{"class":601},[587,1511,556],{"class":597},[587,1513,559],{"class":637},[587,1515,641],{"class":601},[587,1517,976],{"class":597},[587,1519,979],{"class":650},[587,1521,654],{"class":597},[587,1523,617],{"class":597},[587,1525,1526],{"class":620},"cron_completed",[587,1528,669],{"class":597},[587,1530,605],{"class":597},[587,1532,1478],{"class":650},[587,1534,654],{"class":597},[587,1536,617],{"class":597},[587,1538,1485],{"class":620},[587,1540,669],{"class":597},[587,1542,605],{"class":597},[587,1544,1545],{"class":650}," deleted",[587,1547,654],{"class":597},[587,1549,999],{"class":998},[587,1551,605],{"class":597},[587,1553,1554],{"class":650}," duration",[587,1556,654],{"class":597},[587,1558,1559],{"class":998}," 1200",[587,1561,611],{"class":597},[587,1563,681],{"class":601},[731,1565,1567],{"id":1566},"utility-functions","Utility Functions",[577,1569,1572],{"className":579,"code":1570,"filename":1571,"language":582,"meta":583,"style":583},"import { log } from 'evlog'\n\nfunction processWebhook(payload: WebhookPayload) {\n  log.info({ action: 'webhook_received', type: payload.type, source: payload.source })\n\n  if (!isValid(payload)) {\n    log.warn({ action: 'webhook_invalid', type: payload.type, reason: 'missing_signature' })\n    return\n  }\n}\n","src\u002Futils\u002Fwebhook.ts",[535,1573,1574,1592,1596,1622,1678,1682,1705,1759,1765,1771],{"__ignoreMap":583},[587,1575,1576,1578,1580,1582,1584,1586,1588,1590],{"class":589,"line":590},[587,1577,594],{"class":593},[587,1579,598],{"class":597},[587,1581,608],{"class":601},[587,1583,611],{"class":597},[587,1585,614],{"class":593},[587,1587,617],{"class":597},[587,1589,621],{"class":620},[587,1591,624],{"class":597},[587,1593,1594],{"class":589,"line":627},[587,1595,631],{"emptyLinePlaceholder":630},[587,1597,1598,1602,1605,1607,1611,1613,1616,1619],{"class":589,"line":634},[587,1599,1601],{"class":1600},"spNyl","function",[587,1603,1604],{"class":637}," processWebhook",[587,1606,641],{"class":597},[587,1608,1610],{"class":1609},"sHdIc","payload",[587,1612,654],{"class":597},[587,1614,1615],{"class":892}," WebhookPayload",[587,1617,1618],{"class":597},")",[587,1620,1621],{"class":597}," {\n",[587,1623,1624,1627,1629,1631,1633,1635,1637,1639,1641,1644,1646,1648,1651,1653,1656,1658,1661,1663,1665,1667,1669,1671,1674,1676],{"class":589,"line":647},[587,1625,1626],{"class":601},"  log",[587,1628,556],{"class":597},[587,1630,559],{"class":637},[587,1632,641],{"class":650},[587,1634,976],{"class":597},[587,1636,979],{"class":650},[587,1638,654],{"class":597},[587,1640,617],{"class":597},[587,1642,1643],{"class":620},"webhook_received",[587,1645,669],{"class":597},[587,1647,605],{"class":597},[587,1649,1650],{"class":650}," type",[587,1652,654],{"class":597},[587,1654,1655],{"class":601}," payload",[587,1657,556],{"class":597},[587,1659,1660],{"class":601},"type",[587,1662,605],{"class":597},[587,1664,1059],{"class":650},[587,1666,654],{"class":597},[587,1668,1655],{"class":601},[587,1670,556],{"class":597},[587,1672,1673],{"class":601},"source",[587,1675,611],{"class":597},[587,1677,681],{"class":650},[587,1679,1680],{"class":589,"line":675},[587,1681,631],{"emptyLinePlaceholder":630},[587,1683,1684,1687,1690,1693,1696,1698,1700,1703],{"class":589,"line":684},[587,1685,1686],{"class":593},"  if",[587,1688,1689],{"class":650}," (",[587,1691,1692],{"class":597},"!",[587,1694,1695],{"class":637},"isValid",[587,1697,641],{"class":650},[587,1699,1610],{"class":601},[587,1701,1702],{"class":650},")) ",[587,1704,644],{"class":597},[587,1706,1707,1710,1712,1714,1716,1718,1720,1722,1724,1727,1729,1731,1733,1735,1737,1739,1741,1743,1746,1748,1750,1753,1755,1757],{"class":589,"line":689},[587,1708,1709],{"class":601},"    log",[587,1711,556],{"class":597},[587,1713,801],{"class":637},[587,1715,641],{"class":650},[587,1717,976],{"class":597},[587,1719,979],{"class":650},[587,1721,654],{"class":597},[587,1723,617],{"class":597},[587,1725,1726],{"class":620},"webhook_invalid",[587,1728,669],{"class":597},[587,1730,605],{"class":597},[587,1732,1650],{"class":650},[587,1734,654],{"class":597},[587,1736,1655],{"class":601},[587,1738,556],{"class":597},[587,1740,1660],{"class":601},[587,1742,605],{"class":597},[587,1744,1745],{"class":650}," reason",[587,1747,654],{"class":597},[587,1749,617],{"class":597},[587,1751,1752],{"class":620},"missing_signature",[587,1754,669],{"class":597},[587,1756,611],{"class":597},[587,1758,681],{"class":650},[587,1760,1762],{"class":589,"line":1761},8,[587,1763,1764],{"class":593},"    return\n",[587,1766,1768],{"class":589,"line":1767},9,[587,1769,1770],{"class":597},"  }\n",[587,1772,1774],{"class":589,"line":1773},10,[587,1775,1776],{"class":597},"}\n",[570,1778,1780],{"id":1779},"drain-integration","Drain Integration",[531,1782,1783,1784,1787],{},"When using the object form, events are sent through the ",[550,1785,1786],{"href":143},"drain pipeline"," just like wide events:",[577,1789,1791],{"className":579,"code":1790,"filename":581,"language":582,"meta":583,"style":583},"import { initLogger, log } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\n\ninitLogger({\n  env: { service: 'my-app' },\n  drain: createAxiomDrain(),\n})\n\nlog.info({ action: 'deploy', version: '1.2.3', region: 'us-east-1' })\n",[535,1792,1793,1815,1835,1839,1847,1867,1882,1888,1892],{"__ignoreMap":583},[587,1794,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813],{"class":589,"line":590},[587,1796,594],{"class":593},[587,1798,598],{"class":597},[587,1800,602],{"class":601},[587,1802,605],{"class":597},[587,1804,608],{"class":601},[587,1806,611],{"class":597},[587,1808,614],{"class":593},[587,1810,617],{"class":597},[587,1812,621],{"class":620},[587,1814,624],{"class":597},[587,1816,1817,1819,1821,1824,1826,1828,1830,1833],{"class":589,"line":627},[587,1818,594],{"class":593},[587,1820,598],{"class":597},[587,1822,1823],{"class":601}," createAxiomDrain",[587,1825,611],{"class":597},[587,1827,614],{"class":593},[587,1829,617],{"class":597},[587,1831,1832],{"class":620},"evlog\u002Faxiom",[587,1834,624],{"class":597},[587,1836,1837],{"class":589,"line":634},[587,1838,631],{"emptyLinePlaceholder":630},[587,1840,1841,1843,1845],{"class":589,"line":647},[587,1842,638],{"class":637},[587,1844,641],{"class":601},[587,1846,644],{"class":597},[587,1848,1849,1851,1853,1855,1857,1859,1861,1863,1865],{"class":589,"line":675},[587,1850,651],{"class":650},[587,1852,654],{"class":597},[587,1854,598],{"class":597},[587,1856,659],{"class":650},[587,1858,654],{"class":597},[587,1860,617],{"class":597},[587,1862,666],{"class":620},[587,1864,669],{"class":597},[587,1866,672],{"class":597},[587,1868,1869,1872,1874,1876,1879],{"class":589,"line":684},[587,1870,1871],{"class":650},"  drain",[587,1873,654],{"class":597},[587,1875,1823],{"class":637},[587,1877,1878],{"class":601},"()",[587,1880,1881],{"class":597},",\n",[587,1883,1884,1886],{"class":589,"line":689},[587,1885,678],{"class":597},[587,1887,681],{"class":601},[587,1889,1890],{"class":589,"line":1761},[587,1891,631],{"emptyLinePlaceholder":630},[587,1893,1894,1896,1898,1900,1902,1904,1906,1908,1910,1913,1915,1917,1920,1922,1924,1927,1929,1931,1934,1936,1938,1941,1943,1945],{"class":589,"line":1767},[587,1895,537],{"class":601},[587,1897,556],{"class":597},[587,1899,559],{"class":637},[587,1901,641],{"class":601},[587,1903,976],{"class":597},[587,1905,979],{"class":650},[587,1907,654],{"class":597},[587,1909,617],{"class":597},[587,1911,1912],{"class":620},"deploy",[587,1914,669],{"class":597},[587,1916,605],{"class":597},[587,1918,1919],{"class":650}," version",[587,1921,654],{"class":597},[587,1923,617],{"class":597},[587,1925,1926],{"class":620},"1.2.3",[587,1928,669],{"class":597},[587,1930,605],{"class":597},[587,1932,1933],{"class":650}," region",[587,1935,654],{"class":597},[587,1937,617],{"class":597},[587,1939,1940],{"class":620},"us-east-1",[587,1942,669],{"class":597},[587,1944,611],{"class":597},[587,1946,681],{"class":601},[570,1948,1950],{"id":1949},"migrating-from-console-pino-consola-winston","Migrating from console \u002F pino \u002F consola \u002F winston",[531,1952,1953,1954,1957,1958,1961],{},"Pick the tab matching your current logger to see the ",[565,1955,1956],{},"before"," call style. The ",[565,1959,1960],{},"after (evlog)"," snippet underneath is the same regardless of where you came from.",[1963,1964,1965,2185,2458,2644],"code-group",{},[577,1966,1969],{"className":579,"code":1967,"filename":1968,"language":582,"meta":583,"style":583},"import pino from 'pino'\n\nconst log = pino({ name: 'checkout' })\n\nlog.info({ event: 'checkout_started' })\nlog.info({ event: 'cart_loaded', items: 3, total: 9999 })\nlog.warn({ event: 'inventory_low', sku: 'SKU-42' })\nlog.error({ event: 'payment_failed', reason: 'card_declined' })\n","pino",[535,1970,1971,1987,1991,2025,2029,2057,2104,2145],{"__ignoreMap":583},[587,1972,1973,1975,1978,1981,1983,1985],{"class":589,"line":590},[587,1974,594],{"class":593},[587,1976,1977],{"class":601}," pino ",[587,1979,1980],{"class":593},"from",[587,1982,617],{"class":597},[587,1984,1968],{"class":620},[587,1986,624],{"class":597},[587,1988,1989],{"class":589,"line":627},[587,1990,631],{"emptyLinePlaceholder":630},[587,1992,1993,1996,1999,2002,2005,2007,2009,2012,2014,2016,2019,2021,2023],{"class":589,"line":634},[587,1994,1995],{"class":1600},"const",[587,1997,1998],{"class":601}," log ",[587,2000,2001],{"class":597},"=",[587,2003,2004],{"class":637}," pino",[587,2006,641],{"class":601},[587,2008,976],{"class":597},[587,2010,2011],{"class":650}," name",[587,2013,654],{"class":597},[587,2015,617],{"class":597},[587,2017,2018],{"class":620},"checkout",[587,2020,669],{"class":597},[587,2022,611],{"class":597},[587,2024,681],{"class":601},[587,2026,2027],{"class":589,"line":647},[587,2028,631],{"emptyLinePlaceholder":630},[587,2030,2031,2033,2035,2037,2039,2041,2044,2046,2048,2051,2053,2055],{"class":589,"line":675},[587,2032,537],{"class":601},[587,2034,556],{"class":597},[587,2036,559],{"class":637},[587,2038,641],{"class":601},[587,2040,976],{"class":597},[587,2042,2043],{"class":650}," event",[587,2045,654],{"class":597},[587,2047,617],{"class":597},[587,2049,2050],{"class":620},"checkout_started",[587,2052,669],{"class":597},[587,2054,611],{"class":597},[587,2056,681],{"class":601},[587,2058,2059,2061,2063,2065,2067,2069,2071,2073,2075,2078,2080,2082,2085,2087,2090,2092,2095,2097,2100,2102],{"class":589,"line":684},[587,2060,537],{"class":601},[587,2062,556],{"class":597},[587,2064,559],{"class":637},[587,2066,641],{"class":601},[587,2068,976],{"class":597},[587,2070,2043],{"class":650},[587,2072,654],{"class":597},[587,2074,617],{"class":597},[587,2076,2077],{"class":620},"cart_loaded",[587,2079,669],{"class":597},[587,2081,605],{"class":597},[587,2083,2084],{"class":650}," items",[587,2086,654],{"class":597},[587,2088,2089],{"class":998}," 3",[587,2091,605],{"class":597},[587,2093,2094],{"class":650}," total",[587,2096,654],{"class":597},[587,2098,2099],{"class":998}," 9999",[587,2101,611],{"class":597},[587,2103,681],{"class":601},[587,2105,2106,2108,2110,2112,2114,2116,2118,2120,2122,2125,2127,2129,2132,2134,2136,2139,2141,2143],{"class":589,"line":689},[587,2107,537],{"class":601},[587,2109,556],{"class":597},[587,2111,801],{"class":637},[587,2113,641],{"class":601},[587,2115,976],{"class":597},[587,2117,2043],{"class":650},[587,2119,654],{"class":597},[587,2121,617],{"class":597},[587,2123,2124],{"class":620},"inventory_low",[587,2126,669],{"class":597},[587,2128,605],{"class":597},[587,2130,2131],{"class":650}," sku",[587,2133,654],{"class":597},[587,2135,617],{"class":597},[587,2137,2138],{"class":620},"SKU-42",[587,2140,669],{"class":597},[587,2142,611],{"class":597},[587,2144,681],{"class":601},[587,2146,2147,2149,2151,2153,2155,2157,2159,2161,2163,2166,2168,2170,2172,2174,2176,2179,2181,2183],{"class":589,"line":1761},[587,2148,537],{"class":601},[587,2150,556],{"class":597},[587,2152,830],{"class":637},[587,2154,641],{"class":601},[587,2156,976],{"class":597},[587,2158,2043],{"class":650},[587,2160,654],{"class":597},[587,2162,617],{"class":597},[587,2164,2165],{"class":620},"payment_failed",[587,2167,669],{"class":597},[587,2169,605],{"class":597},[587,2171,1745],{"class":650},[587,2173,654],{"class":597},[587,2175,617],{"class":597},[587,2177,2178],{"class":620},"card_declined",[587,2180,669],{"class":597},[587,2182,611],{"class":597},[587,2184,681],{"class":601},[577,2186,2189],{"className":579,"code":2187,"filename":2188,"language":582,"meta":583,"style":583},"import { createLogger, format, transports } from 'winston'\n\nconst log = createLogger({\n  defaultMeta: { service: 'checkout' },\n  format: format.json(),\n  transports: [new transports.Console()],\n})\n\nlog.info({ event: 'checkout_started' })\nlog.info({ event: 'cart_loaded', items: 3, total: 9999 })\nlog.warn({ event: 'inventory_low', sku: 'SKU-42' })\nlog.error({ event: 'payment_failed', reason: 'card_declined' })\n","winston",[535,2190,2191,2220,2224,2238,2259,2277,2302,2308,2312,2338,2380,2419],{"__ignoreMap":583},[587,2192,2193,2195,2197,2200,2202,2205,2207,2210,2212,2214,2216,2218],{"class":589,"line":590},[587,2194,594],{"class":593},[587,2196,598],{"class":597},[587,2198,2199],{"class":601}," createLogger",[587,2201,605],{"class":597},[587,2203,2204],{"class":601}," format",[587,2206,605],{"class":597},[587,2208,2209],{"class":601}," transports",[587,2211,611],{"class":597},[587,2213,614],{"class":593},[587,2215,617],{"class":597},[587,2217,2188],{"class":620},[587,2219,624],{"class":597},[587,2221,2222],{"class":589,"line":627},[587,2223,631],{"emptyLinePlaceholder":630},[587,2225,2226,2228,2230,2232,2234,2236],{"class":589,"line":634},[587,2227,1995],{"class":1600},[587,2229,1998],{"class":601},[587,2231,2001],{"class":597},[587,2233,2199],{"class":637},[587,2235,641],{"class":601},[587,2237,644],{"class":597},[587,2239,2240,2243,2245,2247,2249,2251,2253,2255,2257],{"class":589,"line":647},[587,2241,2242],{"class":650},"  defaultMeta",[587,2244,654],{"class":597},[587,2246,598],{"class":597},[587,2248,659],{"class":650},[587,2250,654],{"class":597},[587,2252,617],{"class":597},[587,2254,2018],{"class":620},[587,2256,669],{"class":597},[587,2258,672],{"class":597},[587,2260,2261,2264,2266,2268,2270,2273,2275],{"class":589,"line":675},[587,2262,2263],{"class":650},"  format",[587,2265,654],{"class":597},[587,2267,2204],{"class":601},[587,2269,556],{"class":597},[587,2271,2272],{"class":637},"json",[587,2274,1878],{"class":601},[587,2276,1881],{"class":597},[587,2278,2279,2282,2284,2287,2290,2292,2294,2297,2300],{"class":589,"line":684},[587,2280,2281],{"class":650},"  transports",[587,2283,654],{"class":597},[587,2285,2286],{"class":601}," [",[587,2288,2289],{"class":597},"new",[587,2291,2209],{"class":601},[587,2293,556],{"class":597},[587,2295,2296],{"class":637},"Console",[587,2298,2299],{"class":601},"()]",[587,2301,1881],{"class":597},[587,2303,2304,2306],{"class":589,"line":689},[587,2305,678],{"class":597},[587,2307,681],{"class":601},[587,2309,2310],{"class":589,"line":1761},[587,2311,631],{"emptyLinePlaceholder":630},[587,2313,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336],{"class":589,"line":1767},[587,2315,537],{"class":601},[587,2317,556],{"class":597},[587,2319,559],{"class":637},[587,2321,641],{"class":601},[587,2323,976],{"class":597},[587,2325,2043],{"class":650},[587,2327,654],{"class":597},[587,2329,617],{"class":597},[587,2331,2050],{"class":620},[587,2333,669],{"class":597},[587,2335,611],{"class":597},[587,2337,681],{"class":601},[587,2339,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378],{"class":589,"line":1773},[587,2341,537],{"class":601},[587,2343,556],{"class":597},[587,2345,559],{"class":637},[587,2347,641],{"class":601},[587,2349,976],{"class":597},[587,2351,2043],{"class":650},[587,2353,654],{"class":597},[587,2355,617],{"class":597},[587,2357,2077],{"class":620},[587,2359,669],{"class":597},[587,2361,605],{"class":597},[587,2363,2084],{"class":650},[587,2365,654],{"class":597},[587,2367,2089],{"class":998},[587,2369,605],{"class":597},[587,2371,2094],{"class":650},[587,2373,654],{"class":597},[587,2375,2099],{"class":998},[587,2377,611],{"class":597},[587,2379,681],{"class":601},[587,2381,2383,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417],{"class":589,"line":2382},11,[587,2384,537],{"class":601},[587,2386,556],{"class":597},[587,2388,801],{"class":637},[587,2390,641],{"class":601},[587,2392,976],{"class":597},[587,2394,2043],{"class":650},[587,2396,654],{"class":597},[587,2398,617],{"class":597},[587,2400,2124],{"class":620},[587,2402,669],{"class":597},[587,2404,605],{"class":597},[587,2406,2131],{"class":650},[587,2408,654],{"class":597},[587,2410,617],{"class":597},[587,2412,2138],{"class":620},[587,2414,669],{"class":597},[587,2416,611],{"class":597},[587,2418,681],{"class":601},[587,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456],{"class":589,"line":2421},12,[587,2423,537],{"class":601},[587,2425,556],{"class":597},[587,2427,830],{"class":637},[587,2429,641],{"class":601},[587,2431,976],{"class":597},[587,2433,2043],{"class":650},[587,2435,654],{"class":597},[587,2437,617],{"class":597},[587,2439,2165],{"class":620},[587,2441,669],{"class":597},[587,2443,605],{"class":597},[587,2445,1745],{"class":650},[587,2447,654],{"class":597},[587,2449,617],{"class":597},[587,2451,2178],{"class":620},[587,2453,669],{"class":597},[587,2455,611],{"class":597},[587,2457,681],{"class":601},[577,2459,2462],{"className":579,"code":2460,"filename":2461,"language":582,"meta":583,"style":583},"import { consola } from 'consola'\n\nconst log = consola.withTag('checkout')\n\nlog.info('Starting checkout')\nlog.info('cart loaded', { items: 3, total: 9999 })\nlog.warn('inventory low', { sku: 'SKU-42' })\nlog.error('payment failed', { reason: 'card_declined' })\n","consola",[535,2463,2464,2483,2487,2512,2516,2535,2574,2609],{"__ignoreMap":583},[587,2465,2466,2468,2470,2473,2475,2477,2479,2481],{"class":589,"line":590},[587,2467,594],{"class":593},[587,2469,598],{"class":597},[587,2471,2472],{"class":601}," consola",[587,2474,611],{"class":597},[587,2476,614],{"class":593},[587,2478,617],{"class":597},[587,2480,2461],{"class":620},[587,2482,624],{"class":597},[587,2484,2485],{"class":589,"line":627},[587,2486,631],{"emptyLinePlaceholder":630},[587,2488,2489,2491,2493,2495,2497,2499,2502,2504,2506,2508,2510],{"class":589,"line":634},[587,2490,1995],{"class":1600},[587,2492,1998],{"class":601},[587,2494,2001],{"class":597},[587,2496,2472],{"class":601},[587,2498,556],{"class":597},[587,2500,2501],{"class":637},"withTag",[587,2503,641],{"class":601},[587,2505,669],{"class":597},[587,2507,2018],{"class":620},[587,2509,669],{"class":597},[587,2511,681],{"class":601},[587,2513,2514],{"class":589,"line":647},[587,2515,631],{"emptyLinePlaceholder":630},[587,2517,2518,2520,2522,2524,2526,2528,2531,2533],{"class":589,"line":675},[587,2519,537],{"class":601},[587,2521,556],{"class":597},[587,2523,559],{"class":637},[587,2525,641],{"class":601},[587,2527,669],{"class":597},[587,2529,2530],{"class":620},"Starting checkout",[587,2532,669],{"class":597},[587,2534,681],{"class":601},[587,2536,2537,2539,2541,2543,2545,2547,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572],{"class":589,"line":684},[587,2538,537],{"class":601},[587,2540,556],{"class":597},[587,2542,559],{"class":637},[587,2544,641],{"class":601},[587,2546,669],{"class":597},[587,2548,2549],{"class":620},"cart loaded",[587,2551,669],{"class":597},[587,2553,605],{"class":597},[587,2555,598],{"class":597},[587,2557,2084],{"class":650},[587,2559,654],{"class":597},[587,2561,2089],{"class":998},[587,2563,605],{"class":597},[587,2565,2094],{"class":650},[587,2567,654],{"class":597},[587,2569,2099],{"class":998},[587,2571,611],{"class":597},[587,2573,681],{"class":601},[587,2575,2576,2578,2580,2582,2584,2586,2589,2591,2593,2595,2597,2599,2601,2603,2605,2607],{"class":589,"line":689},[587,2577,537],{"class":601},[587,2579,556],{"class":597},[587,2581,801],{"class":637},[587,2583,641],{"class":601},[587,2585,669],{"class":597},[587,2587,2588],{"class":620},"inventory low",[587,2590,669],{"class":597},[587,2592,605],{"class":597},[587,2594,598],{"class":597},[587,2596,2131],{"class":650},[587,2598,654],{"class":597},[587,2600,617],{"class":597},[587,2602,2138],{"class":620},[587,2604,669],{"class":597},[587,2606,611],{"class":597},[587,2608,681],{"class":601},[587,2610,2611,2613,2615,2617,2619,2621,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642],{"class":589,"line":1761},[587,2612,537],{"class":601},[587,2614,556],{"class":597},[587,2616,830],{"class":637},[587,2618,641],{"class":601},[587,2620,669],{"class":597},[587,2622,2623],{"class":620},"payment failed",[587,2625,669],{"class":597},[587,2627,605],{"class":597},[587,2629,598],{"class":597},[587,2631,1745],{"class":650},[587,2633,654],{"class":597},[587,2635,617],{"class":597},[587,2637,2178],{"class":620},[587,2639,669],{"class":597},[587,2641,611],{"class":597},[587,2643,681],{"class":601},[577,2645,2647],{"className":579,"code":2646,"filename":541,"language":582,"meta":583,"style":583},"console.log('[checkout] Starting checkout')\nconsole.log('[checkout] cart loaded', { items: 3, total: 9999 })\nconsole.warn('[checkout] inventory low', { sku: 'SKU-42' })\nconsole.error('[checkout] payment failed', { reason: 'card_declined' })\n",[535,2648,2649,2669,2708,2743],{"__ignoreMap":583},[587,2650,2651,2654,2656,2658,2660,2662,2665,2667],{"class":589,"line":590},[587,2652,2653],{"class":601},"console",[587,2655,556],{"class":597},[587,2657,537],{"class":637},[587,2659,641],{"class":601},[587,2661,669],{"class":597},[587,2663,2664],{"class":620},"[checkout] Starting checkout",[587,2666,669],{"class":597},[587,2668,681],{"class":601},[587,2670,2671,2673,2675,2677,2679,2681,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706],{"class":589,"line":627},[587,2672,2653],{"class":601},[587,2674,556],{"class":597},[587,2676,537],{"class":637},[587,2678,641],{"class":601},[587,2680,669],{"class":597},[587,2682,2683],{"class":620},"[checkout] cart loaded",[587,2685,669],{"class":597},[587,2687,605],{"class":597},[587,2689,598],{"class":597},[587,2691,2084],{"class":650},[587,2693,654],{"class":597},[587,2695,2089],{"class":998},[587,2697,605],{"class":597},[587,2699,2094],{"class":650},[587,2701,654],{"class":597},[587,2703,2099],{"class":998},[587,2705,611],{"class":597},[587,2707,681],{"class":601},[587,2709,2710,2712,2714,2716,2718,2720,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741],{"class":589,"line":634},[587,2711,2653],{"class":601},[587,2713,556],{"class":597},[587,2715,801],{"class":637},[587,2717,641],{"class":601},[587,2719,669],{"class":597},[587,2721,2722],{"class":620},"[checkout] inventory low",[587,2724,669],{"class":597},[587,2726,605],{"class":597},[587,2728,598],{"class":597},[587,2730,2131],{"class":650},[587,2732,654],{"class":597},[587,2734,617],{"class":597},[587,2736,2138],{"class":620},[587,2738,669],{"class":597},[587,2740,611],{"class":597},[587,2742,681],{"class":601},[587,2744,2745,2747,2749,2751,2753,2755,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776],{"class":589,"line":647},[587,2746,2653],{"class":601},[587,2748,556],{"class":597},[587,2750,830],{"class":637},[587,2752,641],{"class":601},[587,2754,669],{"class":597},[587,2756,2757],{"class":620},"[checkout] payment failed",[587,2759,669],{"class":597},[587,2761,605],{"class":597},[587,2763,598],{"class":597},[587,2765,1745],{"class":650},[587,2767,654],{"class":597},[587,2769,617],{"class":597},[587,2771,2178],{"class":620},[587,2773,669],{"class":597},[587,2775,611],{"class":597},[587,2777,681],{"class":601},[531,2779,2780],{},"All four become this — no formatter, transport, or peer-dep wiring required:",[577,2782,2785],{"className":579,"code":2783,"filename":2784,"language":582,"meta":583,"style":583},"import { initLogger, log } from 'evlog'\n\ninitLogger({ env: { service: 'checkout' } })\n\nlog.info({ event: 'checkout_started' })\nlog.info({ event: 'cart_loaded', items: 3, total: 9999 })\nlog.warn({ event: 'inventory_low', sku: 'SKU-42' })\nlog.error({ event: 'payment_failed', reason: 'card_declined' })\n","After (evlog)",[535,2786,2787,2809,2813,2844,2848,2874,2916,2954],{"__ignoreMap":583},[587,2788,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807],{"class":589,"line":590},[587,2790,594],{"class":593},[587,2792,598],{"class":597},[587,2794,602],{"class":601},[587,2796,605],{"class":597},[587,2798,608],{"class":601},[587,2800,611],{"class":597},[587,2802,614],{"class":593},[587,2804,617],{"class":597},[587,2806,621],{"class":620},[587,2808,624],{"class":597},[587,2810,2811],{"class":589,"line":627},[587,2812,631],{"emptyLinePlaceholder":630},[587,2814,2815,2817,2819,2821,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842],{"class":589,"line":634},[587,2816,638],{"class":637},[587,2818,641],{"class":601},[587,2820,976],{"class":597},[587,2822,2823],{"class":650}," env",[587,2825,654],{"class":597},[587,2827,598],{"class":597},[587,2829,659],{"class":650},[587,2831,654],{"class":597},[587,2833,617],{"class":597},[587,2835,2018],{"class":620},[587,2837,669],{"class":597},[587,2839,611],{"class":597},[587,2841,611],{"class":597},[587,2843,681],{"class":601},[587,2845,2846],{"class":589,"line":647},[587,2847,631],{"emptyLinePlaceholder":630},[587,2849,2850,2852,2854,2856,2858,2860,2862,2864,2866,2868,2870,2872],{"class":589,"line":675},[587,2851,537],{"class":601},[587,2853,556],{"class":597},[587,2855,559],{"class":637},[587,2857,641],{"class":601},[587,2859,976],{"class":597},[587,2861,2043],{"class":650},[587,2863,654],{"class":597},[587,2865,617],{"class":597},[587,2867,2050],{"class":620},[587,2869,669],{"class":597},[587,2871,611],{"class":597},[587,2873,681],{"class":601},[587,2875,2876,2878,2880,2882,2884,2886,2888,2890,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910,2912,2914],{"class":589,"line":684},[587,2877,537],{"class":601},[587,2879,556],{"class":597},[587,2881,559],{"class":637},[587,2883,641],{"class":601},[587,2885,976],{"class":597},[587,2887,2043],{"class":650},[587,2889,654],{"class":597},[587,2891,617],{"class":597},[587,2893,2077],{"class":620},[587,2895,669],{"class":597},[587,2897,605],{"class":597},[587,2899,2084],{"class":650},[587,2901,654],{"class":597},[587,2903,2089],{"class":998},[587,2905,605],{"class":597},[587,2907,2094],{"class":650},[587,2909,654],{"class":597},[587,2911,2099],{"class":998},[587,2913,611],{"class":597},[587,2915,681],{"class":601},[587,2917,2918,2920,2922,2924,2926,2928,2930,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952],{"class":589,"line":689},[587,2919,537],{"class":601},[587,2921,556],{"class":597},[587,2923,801],{"class":637},[587,2925,641],{"class":601},[587,2927,976],{"class":597},[587,2929,2043],{"class":650},[587,2931,654],{"class":597},[587,2933,617],{"class":597},[587,2935,2124],{"class":620},[587,2937,669],{"class":597},[587,2939,605],{"class":597},[587,2941,2131],{"class":650},[587,2943,654],{"class":597},[587,2945,617],{"class":597},[587,2947,2138],{"class":620},[587,2949,669],{"class":597},[587,2951,611],{"class":597},[587,2953,681],{"class":601},[587,2955,2956,2958,2960,2962,2964,2966,2968,2970,2972,2974,2976,2978,2980,2982,2984,2986,2988,2990],{"class":589,"line":1761},[587,2957,537],{"class":601},[587,2959,556],{"class":597},[587,2961,830],{"class":637},[587,2963,641],{"class":601},[587,2965,976],{"class":597},[587,2967,2043],{"class":650},[587,2969,654],{"class":597},[587,2971,617],{"class":597},[587,2973,2165],{"class":620},[587,2975,669],{"class":597},[587,2977,605],{"class":597},[587,2979,1745],{"class":650},[587,2981,654],{"class":597},[587,2983,617],{"class":597},[587,2985,2178],{"class":620},[587,2987,669],{"class":597},[587,2989,611],{"class":597},[587,2991,681],{"class":601},[531,2993,2994,2996,2997,3000],{},[535,2995,638],{}," is one line at boot. The drain, redaction, sampling, pretty\u002FJSON switching, and level filtering are all wired by default — no ",[535,2998,2999],{},"pino-pretty"," peer dep, no winston transport assembly, no consola reporter setup.",[544,3002,3004,3005,556],{"color":546,"icon":3003},"i-lucide-arrow-right","Want the full side-by-side (feature comparison tables, honest gaps, per-feature mapping)? See ",[550,3006,3007],{"href":518},"evlog vs pino, winston, consola",[570,3009,3011],{"id":3010},"pairing-with-wide-events","Pairing with wide events",[531,3013,3014,553,3016,3019,3020,3023,3024,3026],{},[535,3015,537],{},[535,3017,3018],{},"createLogger"," live inside the same logger. Use ",[535,3021,3022],{},"log.*"," for events that stand alone (startup messages, ad-hoc warnings, debug traces) and reach for ",[535,3025,3018],{}," when you want one event that captures an entire operation. They share the global drain, redaction, and types — pick per call.",[577,3028,3031],{"className":579,"code":3029,"filename":3030,"language":582,"meta":583,"style":583},"import { initLogger, log, createLogger } from 'evlog'\n\ninitLogger({ env: { service: 'sync-worker' } })\n\nlog.info('sync', 'Worker starting')\n\nconst run = createLogger({ source: 'postgres', target: 's3' })\ntry {\n  const records = await fetchRecords()\n  run.set({ found: records.length })\n\n  for (const record of records) {\n    await syncOne(record)\n    log.debug({ event: 'record_synced', id: record.id })\n  }\n\n  run.set({ status: 'complete', synced: records.length })\n} catch (err) {\n  log.error({ event: 'sync_failed' })\n  run.error(err as Error)\n  throw err\n} finally {\n  run.emit()\n}\n\nlog.info('sync', 'Worker finished')\n","scripts\u002Fsync-data.ts",[535,3032,3033,3059,3063,3094,3098,3126,3130,3171,3178,3198,3228,3232,3254,3270,3312,3317,3322,3364,3377,3404,3426,3435,3445,3457,3462,3467],{"__ignoreMap":583},[587,3034,3035,3037,3039,3041,3043,3045,3047,3049,3051,3053,3055,3057],{"class":589,"line":590},[587,3036,594],{"class":593},[587,3038,598],{"class":597},[587,3040,602],{"class":601},[587,3042,605],{"class":597},[587,3044,608],{"class":601},[587,3046,605],{"class":597},[587,3048,2199],{"class":601},[587,3050,611],{"class":597},[587,3052,614],{"class":593},[587,3054,617],{"class":597},[587,3056,621],{"class":620},[587,3058,624],{"class":597},[587,3060,3061],{"class":589,"line":627},[587,3062,631],{"emptyLinePlaceholder":630},[587,3064,3065,3067,3069,3071,3073,3075,3077,3079,3081,3083,3086,3088,3090,3092],{"class":589,"line":634},[587,3066,638],{"class":637},[587,3068,641],{"class":601},[587,3070,976],{"class":597},[587,3072,2823],{"class":650},[587,3074,654],{"class":597},[587,3076,598],{"class":597},[587,3078,659],{"class":650},[587,3080,654],{"class":597},[587,3082,617],{"class":597},[587,3084,3085],{"class":620},"sync-worker",[587,3087,669],{"class":597},[587,3089,611],{"class":597},[587,3091,611],{"class":597},[587,3093,681],{"class":601},[587,3095,3096],{"class":589,"line":647},[587,3097,631],{"emptyLinePlaceholder":630},[587,3099,3100,3102,3104,3106,3108,3110,3113,3115,3117,3119,3122,3124],{"class":589,"line":675},[587,3101,537],{"class":601},[587,3103,556],{"class":597},[587,3105,559],{"class":637},[587,3107,641],{"class":601},[587,3109,669],{"class":597},[587,3111,3112],{"class":620},"sync",[587,3114,669],{"class":597},[587,3116,605],{"class":597},[587,3118,617],{"class":597},[587,3120,3121],{"class":620},"Worker starting",[587,3123,669],{"class":597},[587,3125,681],{"class":601},[587,3127,3128],{"class":589,"line":684},[587,3129,631],{"emptyLinePlaceholder":630},[587,3131,3132,3134,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159,3161,3163,3165,3167,3169],{"class":589,"line":689},[587,3133,1995],{"class":1600},[587,3135,3136],{"class":601}," run ",[587,3138,2001],{"class":597},[587,3140,2199],{"class":637},[587,3142,641],{"class":601},[587,3144,976],{"class":597},[587,3146,1059],{"class":650},[587,3148,654],{"class":597},[587,3150,617],{"class":597},[587,3152,1066],{"class":620},[587,3154,669],{"class":597},[587,3156,605],{"class":597},[587,3158,1073],{"class":650},[587,3160,654],{"class":597},[587,3162,617],{"class":597},[587,3164,1080],{"class":620},[587,3166,669],{"class":597},[587,3168,611],{"class":597},[587,3170,681],{"class":601},[587,3172,3173,3176],{"class":589,"line":1761},[587,3174,3175],{"class":593},"try",[587,3177,1621],{"class":597},[587,3179,3180,3183,3186,3189,3192,3195],{"class":589,"line":1767},[587,3181,3182],{"class":1600},"  const",[587,3184,3185],{"class":601}," records",[587,3187,3188],{"class":597}," =",[587,3190,3191],{"class":593}," await",[587,3193,3194],{"class":637}," fetchRecords",[587,3196,3197],{"class":650},"()\n",[587,3199,3200,3203,3205,3208,3210,3212,3215,3217,3219,3221,3224,3226],{"class":589,"line":1773},[587,3201,3202],{"class":601},"  run",[587,3204,556],{"class":597},[587,3206,3207],{"class":637},"set",[587,3209,641],{"class":650},[587,3211,976],{"class":597},[587,3213,3214],{"class":650}," found",[587,3216,654],{"class":597},[587,3218,3185],{"class":601},[587,3220,556],{"class":597},[587,3222,3223],{"class":601},"length",[587,3225,611],{"class":597},[587,3227,681],{"class":650},[587,3229,3230],{"class":589,"line":2382},[587,3231,631],{"emptyLinePlaceholder":630},[587,3233,3234,3237,3239,3241,3244,3247,3249,3252],{"class":589,"line":2421},[587,3235,3236],{"class":593},"  for",[587,3238,1689],{"class":650},[587,3240,1995],{"class":1600},[587,3242,3243],{"class":601}," record",[587,3245,3246],{"class":597}," of",[587,3248,3185],{"class":601},[587,3250,3251],{"class":650},") ",[587,3253,644],{"class":597},[587,3255,3257,3260,3263,3265,3268],{"class":589,"line":3256},13,[587,3258,3259],{"class":593},"    await",[587,3261,3262],{"class":637}," syncOne",[587,3264,641],{"class":650},[587,3266,3267],{"class":601},"record",[587,3269,681],{"class":650},[587,3271,3273,3275,3277,3279,3281,3283,3285,3287,3289,3292,3294,3296,3299,3301,3303,3305,3308,3310],{"class":589,"line":3272},14,[587,3274,1709],{"class":601},[587,3276,556],{"class":597},[587,3278,859],{"class":637},[587,3280,641],{"class":650},[587,3282,976],{"class":597},[587,3284,2043],{"class":650},[587,3286,654],{"class":597},[587,3288,617],{"class":597},[587,3290,3291],{"class":620},"record_synced",[587,3293,669],{"class":597},[587,3295,605],{"class":597},[587,3297,3298],{"class":650}," id",[587,3300,654],{"class":597},[587,3302,3243],{"class":601},[587,3304,556],{"class":597},[587,3306,3307],{"class":601},"id",[587,3309,611],{"class":597},[587,3311,681],{"class":650},[587,3313,3315],{"class":589,"line":3314},15,[587,3316,1770],{"class":597},[587,3318,3320],{"class":589,"line":3319},16,[587,3321,631],{"emptyLinePlaceholder":630},[587,3323,3325,3327,3329,3331,3333,3335,3338,3340,3342,3345,3347,3349,3352,3354,3356,3358,3360,3362],{"class":589,"line":3324},17,[587,3326,3202],{"class":601},[587,3328,556],{"class":597},[587,3330,3207],{"class":637},[587,3332,641],{"class":650},[587,3334,976],{"class":597},[587,3336,3337],{"class":650}," status",[587,3339,654],{"class":597},[587,3341,617],{"class":597},[587,3343,3344],{"class":620},"complete",[587,3346,669],{"class":597},[587,3348,605],{"class":597},[587,3350,3351],{"class":650}," synced",[587,3353,654],{"class":597},[587,3355,3185],{"class":601},[587,3357,556],{"class":597},[587,3359,3223],{"class":601},[587,3361,611],{"class":597},[587,3363,681],{"class":650},[587,3365,3367,3369,3372,3375],{"class":589,"line":3366},18,[587,3368,678],{"class":597},[587,3370,3371],{"class":593}," catch",[587,3373,3374],{"class":601}," (err) ",[587,3376,644],{"class":597},[587,3378,3380,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402],{"class":589,"line":3379},19,[587,3381,1626],{"class":601},[587,3383,556],{"class":597},[587,3385,830],{"class":637},[587,3387,641],{"class":650},[587,3389,976],{"class":597},[587,3391,2043],{"class":650},[587,3393,654],{"class":597},[587,3395,617],{"class":597},[587,3397,1052],{"class":620},[587,3399,669],{"class":597},[587,3401,611],{"class":597},[587,3403,681],{"class":650},[587,3405,3407,3409,3411,3413,3415,3418,3421,3424],{"class":589,"line":3406},20,[587,3408,3202],{"class":601},[587,3410,556],{"class":597},[587,3412,830],{"class":637},[587,3414,641],{"class":650},[587,3416,3417],{"class":601},"err",[587,3419,3420],{"class":593}," as",[587,3422,3423],{"class":892}," Error",[587,3425,681],{"class":650},[587,3427,3429,3432],{"class":589,"line":3428},21,[587,3430,3431],{"class":593},"  throw",[587,3433,3434],{"class":601}," err\n",[587,3436,3438,3440,3443],{"class":589,"line":3437},22,[587,3439,678],{"class":597},[587,3441,3442],{"class":593}," finally",[587,3444,1621],{"class":597},[587,3446,3448,3450,3452,3455],{"class":589,"line":3447},23,[587,3449,3202],{"class":601},[587,3451,556],{"class":597},[587,3453,3454],{"class":637},"emit",[587,3456,3197],{"class":650},[587,3458,3460],{"class":589,"line":3459},24,[587,3461,1776],{"class":597},[587,3463,3465],{"class":589,"line":3464},25,[587,3466,631],{"emptyLinePlaceholder":630},[587,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486,3488,3491,3493],{"class":589,"line":3469},26,[587,3471,537],{"class":601},[587,3473,556],{"class":597},[587,3475,559],{"class":637},[587,3477,641],{"class":601},[587,3479,669],{"class":597},[587,3481,3112],{"class":620},[587,3483,669],{"class":597},[587,3485,605],{"class":597},[587,3487,617],{"class":597},[587,3489,3490],{"class":620},"Worker finished",[587,3492,669],{"class":597},[587,3494,681],{"class":601},[531,3496,533,3497,3499,3500,3502],{},[535,3498,3022],{}," calls give you a real-time trail in development; the ",[535,3501,3018],{}," block gives your dashboard one queryable row per run. Both go through the same drain.",[570,3504,3506],{"id":3505},"next-steps","Next Steps",[3508,3509,3510,3516,3532,3540,3545,3550],"ul",{},[3511,3512,3513,3515],"li",{},[550,3514,46],{"href":47},": Accumulate context and emit comprehensive events",[3511,3517,3518,3520,3521,3524,3525,3528,3529],{},[550,3519,51],{"href":52},": Throw errors with ",[535,3522,3523],{},"why",", ",[535,3526,3527],{},"fix",", and ",[535,3530,3531],{},"link",[3511,3533,3534,3536,3537,3539],{},[550,3535,500],{"href":501},": All ",[535,3538,638],{}," options",[3511,3541,3542,3544],{},[550,3543,138],{"href":143},": Send events to Axiom, Sentry, PostHog, and more",[3511,3546,3547,3549],{},[550,3548,552],{"href":291},": Scripts, workers, and libraries without a web framework",[3511,3551,3552,3555],{},[550,3553,3554],{"href":518},"evlog vs other loggers",": Side-by-side with pino, winston, consola",[3557,3558,3559],"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 pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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}",{"title":583,"searchDepth":627,"depth":627,"links":3561},[3562,3563,3567,3568,3573,3574,3575,3576],{"id":572,"depth":627,"text":417},{"id":728,"depth":627,"text":729,"children":3564},[3565,3566],{"id":733,"depth":634,"text":734},{"id":932,"depth":634,"text":933},{"id":1170,"depth":627,"text":1171},{"id":1267,"depth":627,"text":1268,"children":3569},[3570,3571,3572],{"id":1271,"depth":634,"text":1272},{"id":1421,"depth":634,"text":1422},{"id":1566,"depth":634,"text":1567},{"id":1779,"depth":627,"text":1780},{"id":1949,"depth":627,"text":1950},{"id":3010,"depth":627,"text":3011},{"id":3505,"depth":627,"text":3506},"evlog's general-purpose logger. A drop-in for console.log, pino, or consola, with the same level filtering, drain pipeline, redaction, and pretty\u002FJSON output as wide events.","md",[3580,3582],{"label":46,"icon":49,"to":47,"color":546,"variant":3581},"subtle",{"label":500,"icon":503,"to":501,"color":546,"variant":3581},{},{"icon":44},{"title":41,"description":3577},"mr6ttIxxdWoGZe4ZZTWhSD_XjIVBpVDjxiCYDkfyrgI",[3588,3590],{"title":36,"path":37,"stem":38,"description":3589,"icon":39,"children":-1},"The mental model — three logging modes, the wide event lifecycle, sampling, typed fields, and redaction. Read this section in order if you're new; pick what you need if you're not.",{"title":46,"path":47,"stem":48,"description":3591,"icon":49,"children":-1},"Accumulate context over any unit of work and emit a single comprehensive event. Works for HTTP requests, scripts, background jobs, queue workers, and workflows.",1785671133660]