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