[{"data":1,"prerenderedAt":2152},["ShallowReactive",2],{"navigation_docs":3,"-frameworks-standalone":263,"-frameworks-standalone-surround":2147},[4,30,115,174,233,249],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Frameworks","\u002Fframeworks","2.frameworks",[35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Fframeworks\u002Foverview","2.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":41,"path":42,"stem":43,"icon":44},"Nuxt","\u002Fframeworks\u002Fnuxt","2.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":46,"path":47,"stem":48,"icon":49},"Next.js","\u002Fframeworks\u002Fnextjs","2.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":51,"path":52,"stem":53,"icon":54},"SvelteKit","\u002Fframeworks\u002Fsveltekit","2.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":56,"path":57,"stem":58,"icon":59},"Nitro","\u002Fframeworks\u002Fnitro","2.frameworks\u002F04.nitro","i-custom-nitro",{"title":61,"path":62,"stem":63,"icon":64},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","2.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":66,"path":67,"stem":68,"icon":69},"NestJS","\u002Fframeworks\u002Fnestjs","2.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":71,"path":72,"stem":73,"icon":74},"Express","\u002Fframeworks\u002Fexpress","2.frameworks\u002F07.express","i-simple-icons-express",{"title":76,"path":77,"stem":78,"icon":79},"Hono","\u002Fframeworks\u002Fhono","2.frameworks\u002F08.hono","i-simple-icons-hono",{"title":81,"path":82,"stem":83,"icon":84},"Fastify","\u002Fframeworks\u002Ffastify","2.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":86,"path":87,"stem":88,"icon":89},"Elysia","\u002Fframeworks\u002Felysia","2.frameworks\u002F10.elysia","i-custom-elysia",{"title":91,"path":92,"stem":93,"icon":94},"React Router","\u002Fframeworks\u002Freact-router","2.frameworks\u002F11.react-router","i-simple-icons-reactrouter",{"title":96,"path":97,"stem":98,"icon":99},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","2.frameworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":101,"path":102,"stem":103,"icon":104},"Standalone","\u002Fframeworks\u002Fstandalone","2.frameworks\u002F13.standalone","i-simple-icons-typescript",{"title":106,"path":107,"stem":108,"icon":109},"Astro","\u002Fframeworks\u002Fastro","2.frameworks\u002F14.astro","i-simple-icons-astro",{"title":111,"path":112,"stem":113,"icon":114},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","2.frameworks\u002F15.custom-integration","i-lucide-puzzle",{"title":116,"path":117,"stem":118,"children":119,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[120,125,130,135,140,145,150,154,159,164,169],{"title":121,"path":122,"stem":123,"icon":124},"Request Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":126,"path":127,"stem":128,"icon":129},"Wide Events","\u002Fcore-concepts\u002Fwide-events","3.core-concepts\u002F1.wide-events","i-lucide-layers",{"title":131,"path":132,"stem":133,"icon":134},"Vite Plugin","\u002Fcore-concepts\u002Fvite-plugin","3.core-concepts\u002F10.vite-plugin","i-custom-vite",{"title":136,"path":137,"stem":138,"icon":139},"AI SDK Integration","\u002Fcore-concepts\u002Fai-sdk","3.core-concepts\u002F11.ai-sdk","i-simple-icons-vercel",{"title":141,"path":142,"stem":143,"icon":144},"Structured Errors","\u002Fcore-concepts\u002Fstructured-errors","3.core-concepts\u002F2.structured-errors","i-lucide-shield-alert",{"title":146,"path":147,"stem":148,"icon":149},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F3.best-practices","i-lucide-shield-check",{"title":151,"path":152,"stem":153,"icon":104},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F4.typed-fields",{"title":155,"path":156,"stem":157,"icon":158},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F5.sampling","i-lucide-filter",{"title":160,"path":161,"stem":162,"icon":163},"Client Logging","\u002Fcore-concepts\u002Fclient-logging","3.core-concepts\u002F6.client-logging","i-lucide-monitor",{"title":165,"path":166,"stem":167,"icon":168},"Configuration","\u002Fcore-concepts\u002Fconfiguration","3.core-concepts\u002F7.configuration","i-lucide-settings",{"title":170,"path":171,"stem":172,"icon":173},"Performance","\u002Fcore-concepts\u002Fperformance","3.core-concepts\u002F8.performance","i-lucide-gauge",{"title":175,"path":176,"stem":177,"children":178,"page":29},"Adapters","\u002Fadapters","4.adapters",[179,183,188,193,198,203,208,213,218,223,228],{"title":36,"path":180,"stem":181,"icon":182},"\u002Fadapters\u002Foverview","4.adapters\u002F1.overview","i-custom-plug",{"title":184,"path":185,"stem":186,"icon":187},"Pipeline","\u002Fadapters\u002Fpipeline","4.adapters\u002F10.pipeline","i-lucide-workflow",{"title":189,"path":190,"stem":191,"icon":192},"Browser","\u002Fadapters\u002Fbrowser","4.adapters\u002F11.browser","i-lucide-globe",{"title":194,"path":195,"stem":196,"icon":197},"Axiom","\u002Fadapters\u002Faxiom","4.adapters\u002F2.axiom","i-custom-axiom",{"title":199,"path":200,"stem":201,"icon":202},"OTLP","\u002Fadapters\u002Fotlp","4.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":204,"path":205,"stem":206,"icon":207},"PostHog","\u002Fadapters\u002Fposthog","4.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":209,"path":210,"stem":211,"icon":212},"Sentry","\u002Fadapters\u002Fsentry","4.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":214,"path":215,"stem":216,"icon":217},"Better Stack","\u002Fadapters\u002Fbetter-stack","4.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":219,"path":220,"stem":221,"icon":222},"File System","\u002Fadapters\u002Ffs","4.adapters\u002F7.fs","i-lucide-hard-drive",{"title":224,"path":225,"stem":226,"icon":227},"HyperDX","\u002Fadapters\u002Fhyperdx","4.adapters\u002F8.hyperdx","i-custom-hyperdx",{"title":229,"path":230,"stem":231,"icon":232},"Custom Adapters","\u002Fadapters\u002Fcustom","4.adapters\u002F9.custom","i-lucide-code",{"title":234,"path":235,"stem":236,"children":237,"page":29},"Enrichers","\u002Fenrichers","5.enrichers",[238,241,245],{"title":36,"path":239,"stem":240,"icon":28},"\u002Fenrichers\u002Foverview","5.enrichers\u002F1.overview",{"title":242,"path":243,"stem":244,"icon":114},"Built-in","\u002Fenrichers\u002Fbuilt-in","5.enrichers\u002F2.built-in",{"title":246,"path":247,"stem":248,"icon":232},"Custom","\u002Fenrichers\u002Fcustom","5.enrichers\u002F3.custom",{"title":250,"path":251,"stem":252,"children":253,"page":29},"NuxtHub","\u002Fnuxthub","6.nuxthub",[254,258],{"title":36,"path":255,"stem":256,"icon":257},"\u002Fnuxthub\u002Foverview","6.nuxthub\u002F1.overview","i-lucide-database",{"title":259,"path":260,"stem":261,"icon":262},"Retention","\u002Fnuxthub\u002Fretention","6.nuxthub\u002F2.retention","i-lucide-clock",{"id":264,"title":265,"body":266,"description":2140,"extension":2141,"links":2142,"meta":2143,"navigation":2144,"path":102,"seo":2145,"stem":103,"__hash__":2146},"docs\u002F2.frameworks\u002F13.standalone.md","Standalone TypeScript",{"type":267,"value":268,"toc":2129},"minimark",[269,282,363,367,372,392,396,834,842,865,869,872,880,983,991,1123,1130,1133,1136,1461,1519,1523,1530,1870,1873,1883,1887,1892,2108,2113,2125],[270,271,272,273,277,278,281],"p",{},"For scripts, CLI tools, queue workers, cron jobs, and any TypeScript process that doesn't use a web framework, evlog provides ",[274,275,276],"code",{},"createLogger"," and ",[274,279,280],{},"createRequestLogger"," from the core package.",[283,284,285],"code-collapse",{},[286,287,293],"pre",{"className":288,"code":289,"filename":290,"language":291,"meta":292,"style":292},"language-txt shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Set up evlog in my TypeScript project for scripts, workers, or CLI tools.\n\n- Install evlog: pnpm add evlog\n- Import initLogger and createLogger (or createRequestLogger) from 'evlog'\n- Call initLogger({ env: { service: 'my-script' } }) once at startup\n- Create a logger per logical operation with createLogger({ jobId, source })\n- Use log.set() to accumulate context as the operation progresses\n- Call log.emit() manually when the operation completes\n\nDocs: https:\u002F\u002Fwww.evlog.dev\u002Fframeworks\u002Fstandalone\nAdapters: https:\u002F\u002Fwww.evlog.dev\u002Fadapters\n","Prompt","txt","",[274,294,295,303,310,316,322,328,334,340,346,351,357],{"__ignoreMap":292},[296,297,300],"span",{"class":298,"line":299},"line",1,[296,301,302],{},"Set up evlog in my TypeScript project for scripts, workers, or CLI tools.\n",[296,304,306],{"class":298,"line":305},2,[296,307,309],{"emptyLinePlaceholder":308},true,"\n",[296,311,313],{"class":298,"line":312},3,[296,314,315],{},"- Install evlog: pnpm add evlog\n",[296,317,319],{"class":298,"line":318},4,[296,320,321],{},"- Import initLogger and createLogger (or createRequestLogger) from 'evlog'\n",[296,323,325],{"class":298,"line":324},5,[296,326,327],{},"- Call initLogger({ env: { service: 'my-script' } }) once at startup\n",[296,329,331],{"class":298,"line":330},6,[296,332,333],{},"- Create a logger per logical operation with createLogger({ jobId, source })\n",[296,335,337],{"class":298,"line":336},7,[296,338,339],{},"- Use log.set() to accumulate context as the operation progresses\n",[296,341,343],{"class":298,"line":342},8,[296,344,345],{},"- Call log.emit() manually when the operation completes\n",[296,347,349],{"class":298,"line":348},9,[296,350,309],{"emptyLinePlaceholder":308},[296,352,354],{"class":298,"line":353},10,[296,355,356],{},"Docs: https:\u002F\u002Fwww.evlog.dev\u002Fframeworks\u002Fstandalone\n",[296,358,360],{"class":298,"line":359},11,[296,361,362],{},"Adapters: https:\u002F\u002Fwww.evlog.dev\u002Fadapters\n",[364,365,20],"h2",{"id":366},"quick-start",[368,369,371],"h3",{"id":370},"_1-install","1. Install",[286,373,377],{"className":374,"code":375,"language":376,"meta":292,"style":292},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bun add evlog\n","bash",[274,378,379],{"__ignoreMap":292},[296,380,381,385,389],{"class":298,"line":299},[296,382,384],{"class":383},"sBMFI","bun",[296,386,388],{"class":387},"sfazB"," add",[296,390,391],{"class":387}," evlog\n",[368,393,395],{"id":394},"_2-initialize-and-create-loggers","2. Initialize and create loggers",[286,397,402],{"className":398,"code":399,"filename":400,"language":401,"meta":292,"style":292},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import type { DrainContext } from 'evlog'\nimport { initLogger, log, createLogger } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\nimport { createDrainPipeline } from 'evlog\u002Fpipeline'\n\nconst pipeline = createDrainPipeline\u003CDrainContext>({ batch: { size: 10 } })\nconst drain = pipeline(createAxiomDrain())\n\ninitLogger({\n  env: { service: 'my-script', environment: 'production' },\n  drain,\n})\n\n\u002F\u002F Every log is automatically drained\nlog.info({ action: 'sync_started' })\n\nconst syncLog = createLogger({ jobId: 'sync-001', source: 'postgres', target: 's3' })\nsyncLog.set({ recordsSynced: 150 })\nsyncLog.emit() \u002F\u002F drained automatically\n\n\u002F\u002F Flush remaining events before exit\nawait drain.flush()\n","scripts\u002Fsync-job.ts","typescript",[274,403,404,436,466,486,506,510,565,585,589,599,638,646,654,659,666,698,703,763,790,806,811,817],{"__ignoreMap":292},[296,405,406,410,413,417,421,424,427,430,433],{"class":298,"line":299},[296,407,409],{"class":408},"s7zQu","import",[296,411,412],{"class":408}," type",[296,414,416],{"class":415},"sMK4o"," {",[296,418,420],{"class":419},"sTEyZ"," DrainContext",[296,422,423],{"class":415}," }",[296,425,426],{"class":408}," from",[296,428,429],{"class":415}," '",[296,431,432],{"class":387},"evlog",[296,434,435],{"class":415},"'\n",[296,437,438,440,442,445,448,451,453,456,458,460,462,464],{"class":298,"line":305},[296,439,409],{"class":408},[296,441,416],{"class":415},[296,443,444],{"class":419}," initLogger",[296,446,447],{"class":415},",",[296,449,450],{"class":419}," log",[296,452,447],{"class":415},[296,454,455],{"class":419}," createLogger",[296,457,423],{"class":415},[296,459,426],{"class":408},[296,461,429],{"class":415},[296,463,432],{"class":387},[296,465,435],{"class":415},[296,467,468,470,472,475,477,479,481,484],{"class":298,"line":312},[296,469,409],{"class":408},[296,471,416],{"class":415},[296,473,474],{"class":419}," createAxiomDrain",[296,476,423],{"class":415},[296,478,426],{"class":408},[296,480,429],{"class":415},[296,482,483],{"class":387},"evlog\u002Faxiom",[296,485,435],{"class":415},[296,487,488,490,492,495,497,499,501,504],{"class":298,"line":318},[296,489,409],{"class":408},[296,491,416],{"class":415},[296,493,494],{"class":419}," createDrainPipeline",[296,496,423],{"class":415},[296,498,426],{"class":408},[296,500,429],{"class":415},[296,502,503],{"class":387},"evlog\u002Fpipeline",[296,505,435],{"class":415},[296,507,508],{"class":298,"line":324},[296,509,309],{"emptyLinePlaceholder":308},[296,511,512,516,519,522,525,528,531,534,537,540,544,547,549,552,554,558,560,562],{"class":298,"line":330},[296,513,515],{"class":514},"spNyl","const",[296,517,518],{"class":419}," pipeline ",[296,520,521],{"class":415},"=",[296,523,494],{"class":524},"s2Zo4",[296,526,527],{"class":415},"\u003C",[296,529,530],{"class":383},"DrainContext",[296,532,533],{"class":415},">",[296,535,536],{"class":419},"(",[296,538,539],{"class":415},"{",[296,541,543],{"class":542},"swJcz"," batch",[296,545,546],{"class":415},":",[296,548,416],{"class":415},[296,550,551],{"class":542}," size",[296,553,546],{"class":415},[296,555,557],{"class":556},"sbssI"," 10",[296,559,423],{"class":415},[296,561,423],{"class":415},[296,563,564],{"class":419},")\n",[296,566,567,569,572,574,577,579,582],{"class":298,"line":336},[296,568,515],{"class":514},[296,570,571],{"class":419}," drain ",[296,573,521],{"class":415},[296,575,576],{"class":524}," pipeline",[296,578,536],{"class":419},[296,580,581],{"class":524},"createAxiomDrain",[296,583,584],{"class":419},"())\n",[296,586,587],{"class":298,"line":342},[296,588,309],{"emptyLinePlaceholder":308},[296,590,591,594,596],{"class":298,"line":348},[296,592,593],{"class":524},"initLogger",[296,595,536],{"class":419},[296,597,598],{"class":415},"{\n",[296,600,601,604,606,608,611,613,615,618,621,623,626,628,630,633,635],{"class":298,"line":353},[296,602,603],{"class":542},"  env",[296,605,546],{"class":415},[296,607,416],{"class":415},[296,609,610],{"class":542}," service",[296,612,546],{"class":415},[296,614,429],{"class":415},[296,616,617],{"class":387},"my-script",[296,619,620],{"class":415},"'",[296,622,447],{"class":415},[296,624,625],{"class":542}," environment",[296,627,546],{"class":415},[296,629,429],{"class":415},[296,631,632],{"class":387},"production",[296,634,620],{"class":415},[296,636,637],{"class":415}," },\n",[296,639,640,643],{"class":298,"line":359},[296,641,642],{"class":419},"  drain",[296,644,645],{"class":415},",\n",[296,647,649,652],{"class":298,"line":648},12,[296,650,651],{"class":415},"}",[296,653,564],{"class":419},[296,655,657],{"class":298,"line":656},13,[296,658,309],{"emptyLinePlaceholder":308},[296,660,662],{"class":298,"line":661},14,[296,663,665],{"class":664},"sHwdD","\u002F\u002F Every log is automatically drained\n",[296,667,669,672,675,678,680,682,685,687,689,692,694,696],{"class":298,"line":668},15,[296,670,671],{"class":419},"log",[296,673,674],{"class":415},".",[296,676,677],{"class":524},"info",[296,679,536],{"class":419},[296,681,539],{"class":415},[296,683,684],{"class":542}," action",[296,686,546],{"class":415},[296,688,429],{"class":415},[296,690,691],{"class":387},"sync_started",[296,693,620],{"class":415},[296,695,423],{"class":415},[296,697,564],{"class":419},[296,699,701],{"class":298,"line":700},16,[296,702,309],{"emptyLinePlaceholder":308},[296,704,706,708,711,713,715,717,719,722,724,726,729,731,733,736,738,740,743,745,747,750,752,754,757,759,761],{"class":298,"line":705},17,[296,707,515],{"class":514},[296,709,710],{"class":419}," syncLog ",[296,712,521],{"class":415},[296,714,455],{"class":524},[296,716,536],{"class":419},[296,718,539],{"class":415},[296,720,721],{"class":542}," jobId",[296,723,546],{"class":415},[296,725,429],{"class":415},[296,727,728],{"class":387},"sync-001",[296,730,620],{"class":415},[296,732,447],{"class":415},[296,734,735],{"class":542}," source",[296,737,546],{"class":415},[296,739,429],{"class":415},[296,741,742],{"class":387},"postgres",[296,744,620],{"class":415},[296,746,447],{"class":415},[296,748,749],{"class":542}," target",[296,751,546],{"class":415},[296,753,429],{"class":415},[296,755,756],{"class":387},"s3",[296,758,620],{"class":415},[296,760,423],{"class":415},[296,762,564],{"class":419},[296,764,766,769,771,774,776,778,781,783,786,788],{"class":298,"line":765},18,[296,767,768],{"class":419},"syncLog",[296,770,674],{"class":415},[296,772,773],{"class":524},"set",[296,775,536],{"class":419},[296,777,539],{"class":415},[296,779,780],{"class":542}," recordsSynced",[296,782,546],{"class":415},[296,784,785],{"class":556}," 150",[296,787,423],{"class":415},[296,789,564],{"class":419},[296,791,793,795,797,800,803],{"class":298,"line":792},19,[296,794,768],{"class":419},[296,796,674],{"class":415},[296,798,799],{"class":524},"emit",[296,801,802],{"class":419},"() ",[296,804,805],{"class":664},"\u002F\u002F drained automatically\n",[296,807,809],{"class":298,"line":808},20,[296,810,309],{"emptyLinePlaceholder":308},[296,812,814],{"class":298,"line":813},21,[296,815,816],{"class":664},"\u002F\u002F Flush remaining events before exit\n",[296,818,820,823,826,828,831],{"class":298,"line":819},22,[296,821,822],{"class":408},"await",[296,824,825],{"class":419}," drain",[296,827,674],{"class":415},[296,829,830],{"class":524},"flush",[296,832,833],{"class":419},"()\n",[835,836,837,838,841],"callout",{"color":677,"icon":13},"Always call ",[274,839,840],{},"drain.flush()"," before the process exits to ensure all buffered events are sent.",[835,843,844,848,849,856,857,860,861,864],{"color":677,"icon":134},[845,846,847],"strong",{},"Using vite-node?"," The ",[850,851,852,855],"a",{"href":132},[274,853,854],{},"evlog\u002Fvite"," plugin"," replaces the ",[274,858,859],{},"initLogger()"," call with compile-time auto-initialization, strips ",[274,862,863],{},"log.debug()"," from production builds, and injects source locations.",[364,866,868],{"id":867},"createlogger-vs-createrequestlogger","createLogger vs createRequestLogger",[270,870,871],{},"evlog provides two manual logger constructors:",[270,873,874,879],{},[845,875,876],{},[274,877,878],{},"createLogger(context)"," - For non-HTTP contexts (scripts, CLI, queues):",[286,881,883],{"className":398,"code":882,"language":401,"meta":292,"style":292},"import { createLogger } from 'evlog'\n\nconst log = createLogger({ jobId: 'migrate-001', source: 'postgres' })\nlog.set({ recordsProcessed: 500 })\nlog.emit()\n",[274,884,885,903,907,949,973],{"__ignoreMap":292},[296,886,887,889,891,893,895,897,899,901],{"class":298,"line":299},[296,888,409],{"class":408},[296,890,416],{"class":415},[296,892,455],{"class":419},[296,894,423],{"class":415},[296,896,426],{"class":408},[296,898,429],{"class":415},[296,900,432],{"class":387},[296,902,435],{"class":415},[296,904,905],{"class":298,"line":305},[296,906,309],{"emptyLinePlaceholder":308},[296,908,909,911,914,916,918,920,922,924,926,928,931,933,935,937,939,941,943,945,947],{"class":298,"line":312},[296,910,515],{"class":514},[296,912,913],{"class":419}," log ",[296,915,521],{"class":415},[296,917,455],{"class":524},[296,919,536],{"class":419},[296,921,539],{"class":415},[296,923,721],{"class":542},[296,925,546],{"class":415},[296,927,429],{"class":415},[296,929,930],{"class":387},"migrate-001",[296,932,620],{"class":415},[296,934,447],{"class":415},[296,936,735],{"class":542},[296,938,546],{"class":415},[296,940,429],{"class":415},[296,942,742],{"class":387},[296,944,620],{"class":415},[296,946,423],{"class":415},[296,948,564],{"class":419},[296,950,951,953,955,957,959,961,964,966,969,971],{"class":298,"line":318},[296,952,671],{"class":419},[296,954,674],{"class":415},[296,956,773],{"class":524},[296,958,536],{"class":419},[296,960,539],{"class":415},[296,962,963],{"class":542}," recordsProcessed",[296,965,546],{"class":415},[296,967,968],{"class":556}," 500",[296,970,423],{"class":415},[296,972,564],{"class":419},[296,974,975,977,979,981],{"class":298,"line":324},[296,976,671],{"class":419},[296,978,674],{"class":415},[296,980,799],{"class":524},[296,982,833],{"class":419},[270,984,985,990],{},[845,986,987],{},[274,988,989],{},"createRequestLogger(requestMeta)"," - For HTTP-like contexts where you want method\u002Fpath\u002Fstatus tracking:",[286,992,994],{"className":398,"code":993,"language":401,"meta":292,"style":292},"import { createRequestLogger } from 'evlog'\n\nconst log = createRequestLogger({\n  method: 'POST',\n  path: '\u002Fwebhook\u002Fstripe',\n})\nlog.set({ event: 'invoice.paid', customerId: 'cus_123' })\nlog.emit()\n",[274,995,996,1015,1019,1033,1049,1065,1071,1113],{"__ignoreMap":292},[296,997,998,1000,1002,1005,1007,1009,1011,1013],{"class":298,"line":299},[296,999,409],{"class":408},[296,1001,416],{"class":415},[296,1003,1004],{"class":419}," createRequestLogger",[296,1006,423],{"class":415},[296,1008,426],{"class":408},[296,1010,429],{"class":415},[296,1012,432],{"class":387},[296,1014,435],{"class":415},[296,1016,1017],{"class":298,"line":305},[296,1018,309],{"emptyLinePlaceholder":308},[296,1020,1021,1023,1025,1027,1029,1031],{"class":298,"line":312},[296,1022,515],{"class":514},[296,1024,913],{"class":419},[296,1026,521],{"class":415},[296,1028,1004],{"class":524},[296,1030,536],{"class":419},[296,1032,598],{"class":415},[296,1034,1035,1038,1040,1042,1045,1047],{"class":298,"line":318},[296,1036,1037],{"class":542},"  method",[296,1039,546],{"class":415},[296,1041,429],{"class":415},[296,1043,1044],{"class":387},"POST",[296,1046,620],{"class":415},[296,1048,645],{"class":415},[296,1050,1051,1054,1056,1058,1061,1063],{"class":298,"line":324},[296,1052,1053],{"class":542},"  path",[296,1055,546],{"class":415},[296,1057,429],{"class":415},[296,1059,1060],{"class":387},"\u002Fwebhook\u002Fstripe",[296,1062,620],{"class":415},[296,1064,645],{"class":415},[296,1066,1067,1069],{"class":298,"line":330},[296,1068,651],{"class":415},[296,1070,564],{"class":419},[296,1072,1073,1075,1077,1079,1081,1083,1086,1088,1090,1093,1095,1097,1100,1102,1104,1107,1109,1111],{"class":298,"line":336},[296,1074,671],{"class":419},[296,1076,674],{"class":415},[296,1078,773],{"class":524},[296,1080,536],{"class":419},[296,1082,539],{"class":415},[296,1084,1085],{"class":542}," event",[296,1087,546],{"class":415},[296,1089,429],{"class":415},[296,1091,1092],{"class":387},"invoice.paid",[296,1094,620],{"class":415},[296,1096,447],{"class":415},[296,1098,1099],{"class":542}," customerId",[296,1101,546],{"class":415},[296,1103,429],{"class":415},[296,1105,1106],{"class":387},"cus_123",[296,1108,620],{"class":415},[296,1110,423],{"class":415},[296,1112,564],{"class":419},[296,1114,1115,1117,1119,1121],{"class":298,"line":342},[296,1116,671],{"class":419},[296,1118,674],{"class":415},[296,1120,799],{"class":524},[296,1122,833],{"class":419},[270,1124,1125,1126,1129],{},"Both require manual ",[274,1127,1128],{},"log.emit()"," calls since there is no automatic lifecycle to hook into.",[364,1131,126],{"id":1132},"wide-events",[270,1134,1135],{},"Build up context progressively, then emit:",[286,1137,1140],{"className":398,"code":1138,"filename":1139,"language":401,"meta":292,"style":292},"import { initLogger, createLogger } from 'evlog'\n\ninitLogger({\n  env: { service: 'migrate' },\n})\n\nconst log = createLogger({ task: 'user-migration' })\n\nconst users = await db.query('SELECT * FROM legacy_users')\nlog.set({ found: users.length })\n\nlet migrated = 0\nfor (const user of users) {\n  await newDb.upsert({ id: user.id, email: user.email, plan: user.plan })\n  migrated++\n}\n\nlog.set({ migrated, status: 'complete' })\nlog.emit()\n","scripts\u002Fmigrate-users.ts",[274,1141,1142,1164,1168,1176,1197,1203,1207,1237,1241,1272,1301,1305,1318,1339,1401,1409,1414,1418,1451],{"__ignoreMap":292},[296,1143,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162],{"class":298,"line":299},[296,1145,409],{"class":408},[296,1147,416],{"class":415},[296,1149,444],{"class":419},[296,1151,447],{"class":415},[296,1153,455],{"class":419},[296,1155,423],{"class":415},[296,1157,426],{"class":408},[296,1159,429],{"class":415},[296,1161,432],{"class":387},[296,1163,435],{"class":415},[296,1165,1166],{"class":298,"line":305},[296,1167,309],{"emptyLinePlaceholder":308},[296,1169,1170,1172,1174],{"class":298,"line":312},[296,1171,593],{"class":524},[296,1173,536],{"class":419},[296,1175,598],{"class":415},[296,1177,1178,1180,1182,1184,1186,1188,1190,1193,1195],{"class":298,"line":318},[296,1179,603],{"class":542},[296,1181,546],{"class":415},[296,1183,416],{"class":415},[296,1185,610],{"class":542},[296,1187,546],{"class":415},[296,1189,429],{"class":415},[296,1191,1192],{"class":387},"migrate",[296,1194,620],{"class":415},[296,1196,637],{"class":415},[296,1198,1199,1201],{"class":298,"line":324},[296,1200,651],{"class":415},[296,1202,564],{"class":419},[296,1204,1205],{"class":298,"line":330},[296,1206,309],{"emptyLinePlaceholder":308},[296,1208,1209,1211,1213,1215,1217,1219,1221,1224,1226,1228,1231,1233,1235],{"class":298,"line":336},[296,1210,515],{"class":514},[296,1212,913],{"class":419},[296,1214,521],{"class":415},[296,1216,455],{"class":524},[296,1218,536],{"class":419},[296,1220,539],{"class":415},[296,1222,1223],{"class":542}," task",[296,1225,546],{"class":415},[296,1227,429],{"class":415},[296,1229,1230],{"class":387},"user-migration",[296,1232,620],{"class":415},[296,1234,423],{"class":415},[296,1236,564],{"class":419},[296,1238,1239],{"class":298,"line":342},[296,1240,309],{"emptyLinePlaceholder":308},[296,1242,1243,1245,1248,1250,1253,1256,1258,1261,1263,1265,1268,1270],{"class":298,"line":348},[296,1244,515],{"class":514},[296,1246,1247],{"class":419}," users ",[296,1249,521],{"class":415},[296,1251,1252],{"class":408}," await",[296,1254,1255],{"class":419}," db",[296,1257,674],{"class":415},[296,1259,1260],{"class":524},"query",[296,1262,536],{"class":419},[296,1264,620],{"class":415},[296,1266,1267],{"class":387},"SELECT * FROM legacy_users",[296,1269,620],{"class":415},[296,1271,564],{"class":419},[296,1273,1274,1276,1278,1280,1282,1284,1287,1289,1292,1294,1297,1299],{"class":298,"line":353},[296,1275,671],{"class":419},[296,1277,674],{"class":415},[296,1279,773],{"class":524},[296,1281,536],{"class":419},[296,1283,539],{"class":415},[296,1285,1286],{"class":542}," found",[296,1288,546],{"class":415},[296,1290,1291],{"class":419}," users",[296,1293,674],{"class":415},[296,1295,1296],{"class":419},"length ",[296,1298,651],{"class":415},[296,1300,564],{"class":419},[296,1302,1303],{"class":298,"line":359},[296,1304,309],{"emptyLinePlaceholder":308},[296,1306,1307,1310,1313,1315],{"class":298,"line":648},[296,1308,1309],{"class":514},"let",[296,1311,1312],{"class":419}," migrated ",[296,1314,521],{"class":415},[296,1316,1317],{"class":556}," 0\n",[296,1319,1320,1323,1326,1328,1331,1334,1337],{"class":298,"line":656},[296,1321,1322],{"class":408},"for",[296,1324,1325],{"class":419}," (",[296,1327,515],{"class":514},[296,1329,1330],{"class":419}," user ",[296,1332,1333],{"class":415},"of",[296,1335,1336],{"class":419}," users) ",[296,1338,598],{"class":415},[296,1340,1341,1344,1347,1349,1352,1354,1356,1359,1361,1364,1366,1369,1371,1374,1376,1378,1380,1383,1385,1388,1390,1392,1394,1397,1399],{"class":298,"line":661},[296,1342,1343],{"class":408},"  await",[296,1345,1346],{"class":419}," newDb",[296,1348,674],{"class":415},[296,1350,1351],{"class":524},"upsert",[296,1353,536],{"class":542},[296,1355,539],{"class":415},[296,1357,1358],{"class":542}," id",[296,1360,546],{"class":415},[296,1362,1363],{"class":419}," user",[296,1365,674],{"class":415},[296,1367,1368],{"class":419},"id",[296,1370,447],{"class":415},[296,1372,1373],{"class":542}," email",[296,1375,546],{"class":415},[296,1377,1363],{"class":419},[296,1379,674],{"class":415},[296,1381,1382],{"class":419},"email",[296,1384,447],{"class":415},[296,1386,1387],{"class":542}," plan",[296,1389,546],{"class":415},[296,1391,1363],{"class":419},[296,1393,674],{"class":415},[296,1395,1396],{"class":419},"plan",[296,1398,423],{"class":415},[296,1400,564],{"class":542},[296,1402,1403,1406],{"class":298,"line":668},[296,1404,1405],{"class":419},"  migrated",[296,1407,1408],{"class":415},"++\n",[296,1410,1411],{"class":298,"line":700},[296,1412,1413],{"class":415},"}\n",[296,1415,1416],{"class":298,"line":705},[296,1417,309],{"emptyLinePlaceholder":308},[296,1419,1420,1422,1424,1426,1428,1430,1433,1435,1438,1440,1442,1445,1447,1449],{"class":298,"line":765},[296,1421,671],{"class":419},[296,1423,674],{"class":415},[296,1425,773],{"class":524},[296,1427,536],{"class":419},[296,1429,539],{"class":415},[296,1431,1432],{"class":419}," migrated",[296,1434,447],{"class":415},[296,1436,1437],{"class":542}," status",[296,1439,546],{"class":415},[296,1441,429],{"class":415},[296,1443,1444],{"class":387},"complete",[296,1446,620],{"class":415},[296,1448,423],{"class":415},[296,1450,564],{"class":419},[296,1452,1453,1455,1457,1459],{"class":298,"line":792},[296,1454,671],{"class":419},[296,1456,674],{"class":415},[296,1458,799],{"class":524},[296,1460,833],{"class":419},[286,1462,1465],{"className":374,"code":1463,"filename":1464,"language":376,"meta":292,"style":292},"14:58:15 INFO [migrate] user-migration\n  ├─ migrated: 1250\n  ├─ found: 1250\n  ├─ status: complete\n  └─ task: user-migration\n","Terminal output",[274,1466,1467,1478,1489,1498,1508],{"__ignoreMap":292},[296,1468,1469,1472,1475],{"class":298,"line":299},[296,1470,1471],{"class":383},"14:58:15",[296,1473,1474],{"class":387}," INFO",[296,1476,1477],{"class":419}," [migrate] user-migration\n",[296,1479,1480,1483,1486],{"class":298,"line":305},[296,1481,1482],{"class":383},"  ├─",[296,1484,1485],{"class":387}," migrated:",[296,1487,1488],{"class":556}," 1250\n",[296,1490,1491,1493,1496],{"class":298,"line":312},[296,1492,1482],{"class":383},[296,1494,1495],{"class":387}," found:",[296,1497,1488],{"class":556},[296,1499,1500,1502,1505],{"class":298,"line":318},[296,1501,1482],{"class":383},[296,1503,1504],{"class":387}," status:",[296,1506,1507],{"class":387}," complete\n",[296,1509,1510,1513,1516],{"class":298,"line":324},[296,1511,1512],{"class":383},"  └─",[296,1514,1515],{"class":387}," task:",[296,1517,1518],{"class":387}," user-migration\n",[364,1520,1522],{"id":1521},"error-handling","Error Handling",[270,1524,1525,1526,1529],{},"Use ",[274,1527,1528],{},"createError"," for structured errors:",[286,1531,1533],{"className":398,"code":1532,"filename":400,"language":401,"meta":292,"style":292},"import { createError, parseError } from 'evlog'\n\ntry {\n  const result = await externalApi.sync()\n  if (!result.ok) {\n    throw createError({\n      message: 'Sync failed',\n      why: `API returned ${result.status}`,\n      fix: 'Check the API status page and retry',\n    })\n  }\n} catch (error) {\n  log.error(error instanceof Error ? error : new Error(String(error)))\n  log.emit()\n\n  const { message, why, fix } = parseError(error)\n  console.error(`${message}\\nWhy: ${why}\\nFix: ${fix}`)\n  process.exit(1)\n}\n",[274,1534,1535,1559,1563,1571,1594,1617,1628,1644,1672,1688,1695,1700,1712,1758,1768,1772,1803,1849,1866],{"__ignoreMap":292},[296,1536,1537,1539,1541,1544,1546,1549,1551,1553,1555,1557],{"class":298,"line":299},[296,1538,409],{"class":408},[296,1540,416],{"class":415},[296,1542,1543],{"class":419}," createError",[296,1545,447],{"class":415},[296,1547,1548],{"class":419}," parseError",[296,1550,423],{"class":415},[296,1552,426],{"class":408},[296,1554,429],{"class":415},[296,1556,432],{"class":387},[296,1558,435],{"class":415},[296,1560,1561],{"class":298,"line":305},[296,1562,309],{"emptyLinePlaceholder":308},[296,1564,1565,1568],{"class":298,"line":312},[296,1566,1567],{"class":408},"try",[296,1569,1570],{"class":415}," {\n",[296,1572,1573,1576,1579,1582,1584,1587,1589,1592],{"class":298,"line":318},[296,1574,1575],{"class":514},"  const",[296,1577,1578],{"class":419}," result",[296,1580,1581],{"class":415}," =",[296,1583,1252],{"class":408},[296,1585,1586],{"class":419}," externalApi",[296,1588,674],{"class":415},[296,1590,1591],{"class":524},"sync",[296,1593,833],{"class":542},[296,1595,1596,1599,1601,1604,1607,1609,1612,1615],{"class":298,"line":324},[296,1597,1598],{"class":408},"  if",[296,1600,1325],{"class":542},[296,1602,1603],{"class":415},"!",[296,1605,1606],{"class":419},"result",[296,1608,674],{"class":415},[296,1610,1611],{"class":419},"ok",[296,1613,1614],{"class":542},") ",[296,1616,598],{"class":415},[296,1618,1619,1622,1624,1626],{"class":298,"line":330},[296,1620,1621],{"class":408},"    throw",[296,1623,1543],{"class":524},[296,1625,536],{"class":542},[296,1627,598],{"class":415},[296,1629,1630,1633,1635,1637,1640,1642],{"class":298,"line":336},[296,1631,1632],{"class":542},"      message",[296,1634,546],{"class":415},[296,1636,429],{"class":415},[296,1638,1639],{"class":387},"Sync failed",[296,1641,620],{"class":415},[296,1643,645],{"class":415},[296,1645,1646,1649,1651,1654,1657,1660,1662,1664,1667,1670],{"class":298,"line":342},[296,1647,1648],{"class":542},"      why",[296,1650,546],{"class":415},[296,1652,1653],{"class":415}," `",[296,1655,1656],{"class":387},"API returned ",[296,1658,1659],{"class":415},"${",[296,1661,1606],{"class":419},[296,1663,674],{"class":415},[296,1665,1666],{"class":419},"status",[296,1668,1669],{"class":415},"}`",[296,1671,645],{"class":415},[296,1673,1674,1677,1679,1681,1684,1686],{"class":298,"line":348},[296,1675,1676],{"class":542},"      fix",[296,1678,546],{"class":415},[296,1680,429],{"class":415},[296,1682,1683],{"class":387},"Check the API status page and retry",[296,1685,620],{"class":415},[296,1687,645],{"class":415},[296,1689,1690,1693],{"class":298,"line":353},[296,1691,1692],{"class":415},"    }",[296,1694,564],{"class":542},[296,1696,1697],{"class":298,"line":359},[296,1698,1699],{"class":415},"  }\n",[296,1701,1702,1704,1707,1710],{"class":298,"line":648},[296,1703,651],{"class":415},[296,1705,1706],{"class":408}," catch",[296,1708,1709],{"class":419}," (error) ",[296,1711,598],{"class":415},[296,1713,1714,1717,1719,1722,1724,1726,1729,1732,1735,1738,1741,1744,1746,1748,1751,1753,1755],{"class":298,"line":656},[296,1715,1716],{"class":419},"  log",[296,1718,674],{"class":415},[296,1720,1721],{"class":524},"error",[296,1723,536],{"class":542},[296,1725,1721],{"class":419},[296,1727,1728],{"class":415}," instanceof",[296,1730,1731],{"class":383}," Error",[296,1733,1734],{"class":415}," ?",[296,1736,1737],{"class":419}," error",[296,1739,1740],{"class":415}," :",[296,1742,1743],{"class":415}," new",[296,1745,1731],{"class":524},[296,1747,536],{"class":542},[296,1749,1750],{"class":524},"String",[296,1752,536],{"class":542},[296,1754,1721],{"class":419},[296,1756,1757],{"class":542},")))\n",[296,1759,1760,1762,1764,1766],{"class":298,"line":661},[296,1761,1716],{"class":419},[296,1763,674],{"class":415},[296,1765,799],{"class":524},[296,1767,833],{"class":542},[296,1769,1770],{"class":298,"line":668},[296,1771,309],{"emptyLinePlaceholder":308},[296,1773,1774,1776,1778,1781,1783,1786,1788,1791,1793,1795,1797,1799,1801],{"class":298,"line":700},[296,1775,1575],{"class":514},[296,1777,416],{"class":415},[296,1779,1780],{"class":419}," message",[296,1782,447],{"class":415},[296,1784,1785],{"class":419}," why",[296,1787,447],{"class":415},[296,1789,1790],{"class":419}," fix",[296,1792,423],{"class":415},[296,1794,1581],{"class":415},[296,1796,1548],{"class":524},[296,1798,536],{"class":542},[296,1800,1721],{"class":419},[296,1802,564],{"class":542},[296,1804,1805,1808,1810,1812,1814,1817,1820,1822,1825,1828,1830,1833,1835,1837,1840,1842,1845,1847],{"class":298,"line":705},[296,1806,1807],{"class":419},"  console",[296,1809,674],{"class":415},[296,1811,1721],{"class":524},[296,1813,536],{"class":542},[296,1815,1816],{"class":415},"`${",[296,1818,1819],{"class":419},"message",[296,1821,651],{"class":415},[296,1823,1824],{"class":419},"\\n",[296,1826,1827],{"class":387},"Why: ",[296,1829,1659],{"class":415},[296,1831,1832],{"class":419},"why",[296,1834,651],{"class":415},[296,1836,1824],{"class":419},[296,1838,1839],{"class":387},"Fix: ",[296,1841,1659],{"class":415},[296,1843,1844],{"class":419},"fix",[296,1846,1669],{"class":415},[296,1848,564],{"class":542},[296,1850,1851,1854,1856,1859,1861,1864],{"class":298,"line":765},[296,1852,1853],{"class":419},"  process",[296,1855,674],{"class":415},[296,1857,1858],{"class":524},"exit",[296,1860,536],{"class":542},[296,1862,1863],{"class":556},"1",[296,1865,564],{"class":542},[296,1867,1868],{"class":298,"line":792},[296,1869,1413],{"class":415},[364,1871,165],{"id":1872},"configuration",[270,1874,1875,1876,1879,1880,1882],{},"See the ",[850,1877,1878],{"href":166},"Configuration reference"," for all available options (",[274,1881,593],{},", middleware options, sampling, silent mode, etc.).",[364,1884,1886],{"id":1885},"drain-enrichers","Drain & Enrichers",[270,1888,1889,1890,546],{},"Configure drain in ",[274,1891,593],{},[286,1893,1895],{"className":398,"code":1894,"language":401,"meta":292,"style":292},"import type { DrainContext } from 'evlog'\nimport { initLogger } from 'evlog'\nimport { createAxiomDrain } from 'evlog\u002Faxiom'\nimport { createDrainPipeline } from 'evlog\u002Fpipeline'\n\nconst pipeline = createDrainPipeline\u003CDrainContext>({\n  batch: { size: 50, intervalMs: 5000 },\n  retry: { maxAttempts: 3 },\n})\nconst drain = pipeline(createAxiomDrain())\n\ninitLogger({\n  env: { service: 'my-script' },\n  drain,\n})\n",[274,1896,1897,1917,1935,1953,1971,1975,1995,2023,2042,2048,2064,2068,2076,2096,2102],{"__ignoreMap":292},[296,1898,1899,1901,1903,1905,1907,1909,1911,1913,1915],{"class":298,"line":299},[296,1900,409],{"class":408},[296,1902,412],{"class":408},[296,1904,416],{"class":415},[296,1906,420],{"class":419},[296,1908,423],{"class":415},[296,1910,426],{"class":408},[296,1912,429],{"class":415},[296,1914,432],{"class":387},[296,1916,435],{"class":415},[296,1918,1919,1921,1923,1925,1927,1929,1931,1933],{"class":298,"line":305},[296,1920,409],{"class":408},[296,1922,416],{"class":415},[296,1924,444],{"class":419},[296,1926,423],{"class":415},[296,1928,426],{"class":408},[296,1930,429],{"class":415},[296,1932,432],{"class":387},[296,1934,435],{"class":415},[296,1936,1937,1939,1941,1943,1945,1947,1949,1951],{"class":298,"line":312},[296,1938,409],{"class":408},[296,1940,416],{"class":415},[296,1942,474],{"class":419},[296,1944,423],{"class":415},[296,1946,426],{"class":408},[296,1948,429],{"class":415},[296,1950,483],{"class":387},[296,1952,435],{"class":415},[296,1954,1955,1957,1959,1961,1963,1965,1967,1969],{"class":298,"line":318},[296,1956,409],{"class":408},[296,1958,416],{"class":415},[296,1960,494],{"class":419},[296,1962,423],{"class":415},[296,1964,426],{"class":408},[296,1966,429],{"class":415},[296,1968,503],{"class":387},[296,1970,435],{"class":415},[296,1972,1973],{"class":298,"line":324},[296,1974,309],{"emptyLinePlaceholder":308},[296,1976,1977,1979,1981,1983,1985,1987,1989,1991,1993],{"class":298,"line":330},[296,1978,515],{"class":514},[296,1980,518],{"class":419},[296,1982,521],{"class":415},[296,1984,494],{"class":524},[296,1986,527],{"class":415},[296,1988,530],{"class":383},[296,1990,533],{"class":415},[296,1992,536],{"class":419},[296,1994,598],{"class":415},[296,1996,1997,2000,2002,2004,2006,2008,2011,2013,2016,2018,2021],{"class":298,"line":336},[296,1998,1999],{"class":542},"  batch",[296,2001,546],{"class":415},[296,2003,416],{"class":415},[296,2005,551],{"class":542},[296,2007,546],{"class":415},[296,2009,2010],{"class":556}," 50",[296,2012,447],{"class":415},[296,2014,2015],{"class":542}," intervalMs",[296,2017,546],{"class":415},[296,2019,2020],{"class":556}," 5000",[296,2022,637],{"class":415},[296,2024,2025,2028,2030,2032,2035,2037,2040],{"class":298,"line":342},[296,2026,2027],{"class":542},"  retry",[296,2029,546],{"class":415},[296,2031,416],{"class":415},[296,2033,2034],{"class":542}," maxAttempts",[296,2036,546],{"class":415},[296,2038,2039],{"class":556}," 3",[296,2041,637],{"class":415},[296,2043,2044,2046],{"class":298,"line":348},[296,2045,651],{"class":415},[296,2047,564],{"class":419},[296,2049,2050,2052,2054,2056,2058,2060,2062],{"class":298,"line":353},[296,2051,515],{"class":514},[296,2053,571],{"class":419},[296,2055,521],{"class":415},[296,2057,576],{"class":524},[296,2059,536],{"class":419},[296,2061,581],{"class":524},[296,2063,584],{"class":419},[296,2065,2066],{"class":298,"line":359},[296,2067,309],{"emptyLinePlaceholder":308},[296,2069,2070,2072,2074],{"class":298,"line":648},[296,2071,593],{"class":524},[296,2073,536],{"class":419},[296,2075,598],{"class":415},[296,2077,2078,2080,2082,2084,2086,2088,2090,2092,2094],{"class":298,"line":656},[296,2079,603],{"class":542},[296,2081,546],{"class":415},[296,2083,416],{"class":415},[296,2085,610],{"class":542},[296,2087,546],{"class":415},[296,2089,429],{"class":415},[296,2091,617],{"class":387},[296,2093,620],{"class":415},[296,2095,637],{"class":415},[296,2097,2098,2100],{"class":298,"line":661},[296,2099,642],{"class":419},[296,2101,645],{"class":415},[296,2103,2104,2106],{"class":298,"line":668},[296,2105,651],{"class":415},[296,2107,564],{"class":419},[835,2109,1875,2110,2112],{"color":677,"icon":13},[850,2111,175],{"href":180}," docs for all available drain adapters (Axiom, OTLP, PostHog, Sentry, Better Stack).",[835,2114,2117,2118,2124],{"color":2115,"icon":2116},"neutral","i-lucide-arrow-right","See the full ",[850,2119,2123],{"href":2120,"rel":2121},"https:\u002F\u002Fgithub.com\u002FHugoRCD\u002Fevlog\u002Ftree\u002Fmain\u002Fexamples\u002Fbun-script",[2122],"nofollow","bun-script example"," for a complete working script.",[2126,2127,2128],"style",{},"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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":292,"searchDepth":305,"depth":305,"links":2130},[2131,2135,2136,2137,2138,2139],{"id":366,"depth":305,"text":20,"children":2132},[2133,2134],{"id":370,"depth":312,"text":371},{"id":394,"depth":312,"text":395},{"id":867,"depth":305,"text":868},{"id":1132,"depth":305,"text":126},{"id":1521,"depth":305,"text":1522},{"id":1872,"depth":305,"text":165},{"id":1885,"depth":305,"text":1886},"Use evlog in standalone TypeScript scripts, CLI tools, queues, cron jobs, and any TypeScript process.","md",null,{},{"title":101,"icon":104},{"title":265,"description":2140},"smZvx6d1XH2LK2Ke_4D2OgdcJmTbw53JH12b0-wAzSk",[2148,2150],{"title":96,"path":97,"stem":98,"description":2149,"icon":99,"children":-1},"Wide events, structured errors, and logging in Cloudflare Workers and Durable Objects.",{"title":106,"path":107,"stem":108,"description":2151,"icon":109,"children":-1},"Wide events and structured errors in Astro server middleware.",1775236128880]