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