[{"data":1,"prerenderedAt":2005},["ShallowReactive",2],{"navigation_docs":3,"-logging-simple-logging":277,"-logging-simple-logging-surround":2000},[4,30,65,105,188,247,263],{"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},"Logging","\u002Flogging","2.logging",[35,40,45,50,55,60],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flogging\u002Foverview","2.logging\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flogging\u002Fsimple-logging","2.logging\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flogging\u002Fwide-events","2.logging\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flogging\u002Fstructured-errors","2.logging\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Client Logging","\u002Flogging\u002Fclient-logging","2.logging\u002F4.client-logging","i-lucide-monitor",{"title":61,"path":62,"stem":63,"icon":64},"AI SDK Integration","\u002Flogging\u002Fai-sdk","2.logging\u002F5.ai-sdk","i-simple-icons-vercel",{"title":66,"path":67,"stem":68,"children":69,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[70,75,80,85,90,95,100],{"title":71,"path":72,"stem":73,"icon":74},"Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":76,"path":77,"stem":78,"icon":79},"Configuration","\u002Fcore-concepts\u002Fconfiguration","3.core-concepts\u002F1.configuration","i-lucide-settings",{"title":81,"path":82,"stem":83,"icon":84},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F2.sampling","i-lucide-filter",{"title":86,"path":87,"stem":88,"icon":89},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F3.typed-fields","i-simple-icons-typescript",{"title":91,"path":92,"stem":93,"icon":94},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F4.best-practices","i-lucide-shield-check",{"title":96,"path":97,"stem":98,"icon":99},"Performance","\u002Fcore-concepts\u002Fperformance","3.core-concepts\u002F5.performance","i-lucide-gauge",{"title":101,"path":102,"stem":103,"icon":104},"Vite Plugin","\u002Fcore-concepts\u002Fvite-plugin","3.core-concepts\u002F6.vite-plugin","i-custom-vite",{"title":106,"path":107,"stem":108,"children":109,"page":29},"Frameworks","\u002Fframeworks","4.frameworks",[110,114,119,124,129,134,139,144,149,154,159,164,169,174,178,183],{"title":36,"path":111,"stem":112,"icon":113},"\u002Fframeworks\u002Foverview","4.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":115,"path":116,"stem":117,"icon":118},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":120,"path":121,"stem":122,"icon":123},"Next.js","\u002Fframeworks\u002Fnextjs","4.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":125,"path":126,"stem":127,"icon":128},"SvelteKit","\u002Fframeworks\u002Fsveltekit","4.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":130,"path":131,"stem":132,"icon":133},"Nitro","\u002Fframeworks\u002Fnitro","4.frameworks\u002F04.nitro","i-custom-nitro",{"title":135,"path":136,"stem":137,"icon":138},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","4.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":140,"path":141,"stem":142,"icon":143},"NestJS","\u002Fframeworks\u002Fnestjs","4.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":145,"path":146,"stem":147,"icon":148},"Express","\u002Fframeworks\u002Fexpress","4.frameworks\u002F07.express","i-simple-icons-express",{"title":150,"path":151,"stem":152,"icon":153},"Hono","\u002Fframeworks\u002Fhono","4.frameworks\u002F08.hono","i-simple-icons-hono",{"title":155,"path":156,"stem":157,"icon":158},"Fastify","\u002Fframeworks\u002Ffastify","4.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":160,"path":161,"stem":162,"icon":163},"Elysia","\u002Fframeworks\u002Felysia","4.frameworks\u002F10.elysia","i-custom-elysia",{"title":165,"path":166,"stem":167,"icon":168},"React Router","\u002Fframeworks\u002Freact-router","4.frameworks\u002F11.react-router","i-custom-reactrouter",{"title":170,"path":171,"stem":172,"icon":173},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","4.frameworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":175,"path":176,"stem":177,"icon":89},"Standalone","\u002Fframeworks\u002Fstandalone","4.frameworks\u002F13.standalone",{"title":179,"path":180,"stem":181,"icon":182},"Astro","\u002Fframeworks\u002Fastro","4.frameworks\u002F14.astro","i-simple-icons-astro",{"title":184,"path":185,"stem":186,"icon":187},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","4.frameworks\u002F15.custom-integration","i-lucide-puzzle",{"title":189,"path":190,"stem":191,"children":192,"page":29},"Adapters","\u002Fadapters","5.adapters",[193,197,202,207,212,217,222,227,232,237,242],{"title":36,"path":194,"stem":195,"icon":196},"\u002Fadapters\u002Foverview","5.adapters\u002F1.overview","i-custom-plug",{"title":198,"path":199,"stem":200,"icon":201},"Pipeline","\u002Fadapters\u002Fpipeline","5.adapters\u002F10.pipeline","i-lucide-workflow",{"title":203,"path":204,"stem":205,"icon":206},"Browser","\u002Fadapters\u002Fbrowser","5.adapters\u002F11.browser","i-lucide-globe",{"title":208,"path":209,"stem":210,"icon":211},"Axiom","\u002Fadapters\u002Faxiom","5.adapters\u002F2.axiom","i-custom-axiom",{"title":213,"path":214,"stem":215,"icon":216},"OTLP","\u002Fadapters\u002Fotlp","5.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":218,"path":219,"stem":220,"icon":221},"PostHog","\u002Fadapters\u002Fposthog","5.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":223,"path":224,"stem":225,"icon":226},"Sentry","\u002Fadapters\u002Fsentry","5.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":228,"path":229,"stem":230,"icon":231},"Better Stack","\u002Fadapters\u002Fbetter-stack","5.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":233,"path":234,"stem":235,"icon":236},"File System","\u002Fadapters\u002Ffs","5.adapters\u002F7.fs","i-lucide-hard-drive",{"title":238,"path":239,"stem":240,"icon":241},"HyperDX","\u002Fadapters\u002Fhyperdx","5.adapters\u002F8.hyperdx","i-custom-hyperdx",{"title":243,"path":244,"stem":245,"icon":246},"Custom Adapters","\u002Fadapters\u002Fcustom","5.adapters\u002F9.custom","i-lucide-code",{"title":248,"path":249,"stem":250,"children":251,"page":29},"Enrichers","\u002Fenrichers","6.enrichers",[252,255,259],{"title":36,"path":253,"stem":254,"icon":28},"\u002Fenrichers\u002Foverview","6.enrichers\u002F1.overview",{"title":256,"path":257,"stem":258,"icon":187},"Built-in","\u002Fenrichers\u002Fbuilt-in","6.enrichers\u002F2.built-in",{"title":260,"path":261,"stem":262,"icon":246},"Custom","\u002Fenrichers\u002Fcustom","6.enrichers\u002F3.custom",{"title":264,"path":265,"stem":266,"children":267,"page":29},"NuxtHub","\u002Fnuxthub","7.nuxthub",[268,272],{"title":36,"path":269,"stem":270,"icon":271},"\u002Fnuxthub\u002Foverview","7.nuxthub\u002F1.overview","i-lucide-database",{"title":273,"path":274,"stem":275,"icon":276},"Retention","\u002Fnuxthub\u002Fretention","7.nuxthub\u002F2.retention","i-lucide-clock",{"id":278,"title":41,"body":279,"description":1989,"extension":1990,"links":1991,"meta":1996,"navigation":1997,"path":42,"seo":1998,"stem":43,"__hash__":1999},"docs\u002F2.logging\u002F1.simple-logging.md",{"type":280,"value":281,"toc":1973},"minimark",[282,295,308,313,316,456,466,470,475,478,620,670,674,677,841,898,908,912,991,1006,1010,1014,1160,1164,1305,1309,1518,1522,1529,1688,1692,1707,1927,1931,1969],[283,284,285,286,290,291,294],"p",{},"The ",[287,288,289],"code",{},"log"," API is the simplest way to use evlog. Each call emits a single structured event, no accumulation, no lifecycle management, no manual ",[287,292,293],{},"emit()",".",[296,297,299,300,302,303,307],"callout",{"color":298,"icon":28},"info","In Nuxt, ",[287,301,289],{}," is ",[304,305,306],"strong",{},"auto-imported",". No import statement needed.",[309,310,312],"h2",{"id":311},"setup","Setup",[283,314,315],{},"For standalone projects (non-Nuxt), initialize once at startup:",[317,318,324],"pre",{"className":319,"code":320,"filename":321,"language":322,"meta":323,"style":323},"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","",[287,325,326,365,372,385,413,422,427],{"__ignoreMap":323},[327,328,331,335,339,343,346,349,352,355,358,362],"span",{"class":329,"line":330},"line",1,[327,332,334],{"class":333},"s7zQu","import",[327,336,338],{"class":337},"sMK4o"," {",[327,340,342],{"class":341},"sTEyZ"," initLogger",[327,344,345],{"class":337},",",[327,347,348],{"class":341}," log",[327,350,351],{"class":337}," }",[327,353,354],{"class":333}," from",[327,356,357],{"class":337}," '",[327,359,361],{"class":360},"sfazB","evlog",[327,363,364],{"class":337},"'\n",[327,366,368],{"class":329,"line":367},2,[327,369,371],{"emptyLinePlaceholder":370},true,"\n",[327,373,375,379,382],{"class":329,"line":374},3,[327,376,378],{"class":377},"s2Zo4","initLogger",[327,380,381],{"class":341},"(",[327,383,384],{"class":337},"{\n",[327,386,388,392,395,397,400,402,404,407,410],{"class":329,"line":387},4,[327,389,391],{"class":390},"swJcz","  env",[327,393,394],{"class":337},":",[327,396,338],{"class":337},[327,398,399],{"class":390}," service",[327,401,394],{"class":337},[327,403,357],{"class":337},[327,405,406],{"class":360},"my-app",[327,408,409],{"class":337},"'",[327,411,412],{"class":337}," },\n",[327,414,416,419],{"class":329,"line":415},5,[327,417,418],{"class":337},"}",[327,420,421],{"class":341},")\n",[327,423,425],{"class":329,"line":424},6,[327,426,371],{"emptyLinePlaceholder":370},[327,428,430,432,434,436,438,440,443,445,447,449,452,454],{"class":329,"line":429},7,[327,431,289],{"class":341},[327,433,294],{"class":337},[327,435,298],{"class":377},[327,437,381],{"class":341},[327,439,409],{"class":337},[327,441,442],{"class":360},"app",[327,444,409],{"class":337},[327,446,345],{"class":337},[327,448,357],{"class":337},[327,450,451],{"class":360},"Server started",[327,453,409],{"class":337},[327,455,421],{"class":341},[296,457,458,461,462,465],{"color":298,"icon":13},[287,459,460],{},"env.service"," defaults to ",[287,463,464],{},"'app'"," if not specified. Only set it if you want a custom service name.",[309,467,469],{"id":468},"two-call-styles","Two Call Styles",[471,472,474],"h3",{"id":473},"tagged-logs","Tagged Logs",[283,476,477],{},"Pass a tag and a message for quick, readable output:",[317,479,481],{"className":319,"code":480,"filename":321,"language":322,"meta":323,"style":323},"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",[287,482,483,501,505,533,562,591],{"__ignoreMap":323},[327,484,485,487,489,491,493,495,497,499],{"class":329,"line":330},[327,486,334],{"class":333},[327,488,338],{"class":337},[327,490,348],{"class":341},[327,492,351],{"class":337},[327,494,354],{"class":333},[327,496,357],{"class":337},[327,498,361],{"class":360},[327,500,364],{"class":337},[327,502,503],{"class":329,"line":367},[327,504,371],{"emptyLinePlaceholder":370},[327,506,507,509,511,513,515,517,520,522,524,526,529,531],{"class":329,"line":374},[327,508,289],{"class":341},[327,510,294],{"class":337},[327,512,298],{"class":377},[327,514,381],{"class":341},[327,516,409],{"class":337},[327,518,519],{"class":360},"auth",[327,521,409],{"class":337},[327,523,345],{"class":337},[327,525,357],{"class":337},[327,527,528],{"class":360},"User logged in",[327,530,409],{"class":337},[327,532,421],{"class":341},[327,534,535,537,539,542,544,546,549,551,553,555,558,560],{"class":329,"line":387},[327,536,289],{"class":341},[327,538,294],{"class":337},[327,540,541],{"class":377},"warn",[327,543,381],{"class":341},[327,545,409],{"class":337},[327,547,548],{"class":360},"cache",[327,550,409],{"class":337},[327,552,345],{"class":337},[327,554,357],{"class":337},[327,556,557],{"class":360},"Cache miss for key user:42",[327,559,409],{"class":337},[327,561,421],{"class":341},[327,563,564,566,568,571,573,575,578,580,582,584,587,589],{"class":329,"line":415},[327,565,289],{"class":341},[327,567,294],{"class":337},[327,569,570],{"class":377},"error",[327,572,381],{"class":341},[327,574,409],{"class":337},[327,576,577],{"class":360},"payment",[327,579,409],{"class":337},[327,581,345],{"class":337},[327,583,357],{"class":337},[327,585,586],{"class":360},"Stripe webhook failed",[327,588,409],{"class":337},[327,590,421],{"class":341},[327,592,593,595,597,600,602,604,607,609,611,613,616,618],{"class":329,"line":424},[327,594,289],{"class":341},[327,596,294],{"class":337},[327,598,599],{"class":377},"debug",[327,601,381],{"class":341},[327,603,409],{"class":337},[327,605,606],{"class":360},"router",[327,608,409],{"class":337},[327,610,345],{"class":337},[327,612,357],{"class":337},[327,614,615],{"class":360},"Matched route \u002Fapi\u002Fcheckout",[327,617,409],{"class":337},[327,619,421],{"class":341},[317,621,626],{"className":622,"code":623,"filename":624,"language":625,"meta":323,"style":323},"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",[287,627,628,637,651,662],{"__ignoreMap":323},[327,629,630,634],{"class":329,"line":330},[327,631,633],{"class":632},"sBMFI","10:23:45.612",[327,635,636],{"class":341}," [auth] User logged in\n",[327,638,639,642,645,648],{"class":329,"line":367},[327,640,641],{"class":632},"10:23:45.613",[327,643,644],{"class":341}," [cache] Cache miss ",[327,646,647],{"class":333},"for",[327,649,650],{"class":341}," key user:42\n",[327,652,653,656,659],{"class":329,"line":374},[327,654,655],{"class":632},"10:23:45.614",[327,657,658],{"class":360}," ERROR",[327,660,661],{"class":341}," [payment] Stripe webhook failed\n",[327,663,664,667],{"class":329,"line":387},[327,665,666],{"class":632},"10:23:45.615",[327,668,669],{"class":341}," [router] Matched route \u002Fapi\u002Fcheckout\n",[471,671,673],{"id":672},"structured-events","Structured Events",[283,675,676],{},"Pass an object for rich, queryable events that flow through the drain pipeline:",[317,678,680],{"className":319,"code":679,"filename":321,"language":322,"meta":323,"style":323},"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",[287,681,682,700,704,772],{"__ignoreMap":323},[327,683,684,686,688,690,692,694,696,698],{"class":329,"line":330},[327,685,334],{"class":333},[327,687,338],{"class":337},[327,689,348],{"class":341},[327,691,351],{"class":337},[327,693,354],{"class":333},[327,695,357],{"class":337},[327,697,361],{"class":360},[327,699,364],{"class":337},[327,701,702],{"class":329,"line":367},[327,703,371],{"emptyLinePlaceholder":370},[327,705,706,708,710,712,714,717,720,722,724,727,729,731,734,736,740,742,745,747,749,752,754,756,759,761,763,766,768,770],{"class":329,"line":374},[327,707,289],{"class":341},[327,709,294],{"class":337},[327,711,298],{"class":377},[327,713,381],{"class":341},[327,715,716],{"class":337},"{",[327,718,719],{"class":390}," action",[327,721,394],{"class":337},[327,723,357],{"class":337},[327,725,726],{"class":360},"user_login",[327,728,409],{"class":337},[327,730,345],{"class":337},[327,732,733],{"class":390}," userId",[327,735,394],{"class":337},[327,737,739],{"class":738},"sbssI"," 42",[327,741,345],{"class":337},[327,743,744],{"class":390}," method",[327,746,394],{"class":337},[327,748,357],{"class":337},[327,750,751],{"class":360},"oauth",[327,753,409],{"class":337},[327,755,345],{"class":337},[327,757,758],{"class":390}," provider",[327,760,394],{"class":337},[327,762,357],{"class":337},[327,764,765],{"class":360},"github",[327,767,409],{"class":337},[327,769,351],{"class":337},[327,771,421],{"class":341},[327,773,774,776,778,780,782,784,786,788,790,793,795,797,800,802,804,807,809,811,814,816,818,821,823,825,828,830,832,835,837,839],{"class":329,"line":387},[327,775,289],{"class":341},[327,777,294],{"class":337},[327,779,570],{"class":377},[327,781,381],{"class":341},[327,783,716],{"class":337},[327,785,719],{"class":390},[327,787,394],{"class":337},[327,789,357],{"class":337},[327,791,792],{"class":360},"sync_failed",[327,794,409],{"class":337},[327,796,345],{"class":337},[327,798,799],{"class":390}," source",[327,801,394],{"class":337},[327,803,357],{"class":337},[327,805,806],{"class":360},"postgres",[327,808,409],{"class":337},[327,810,345],{"class":337},[327,812,813],{"class":390}," target",[327,815,394],{"class":337},[327,817,357],{"class":337},[327,819,820],{"class":360},"s3",[327,822,409],{"class":337},[327,824,345],{"class":337},[327,826,827],{"class":390}," error",[327,829,394],{"class":337},[327,831,357],{"class":337},[327,833,834],{"class":360},"connection_timeout",[327,836,409],{"class":337},[327,838,351],{"class":337},[327,840,421],{"class":341},[317,842,844],{"className":622,"code":843,"filename":624,"language":625,"meta":323,"style":323},"10:23:45.612 INFO [my-app]\n  ├─ action: user_login\n  ├─ userId: 42\n  ├─ method: oauth\n  └─ provider: github\n",[287,845,846,856,867,877,887],{"__ignoreMap":323},[327,847,848,850,853],{"class":329,"line":330},[327,849,633],{"class":632},[327,851,852],{"class":360}," INFO",[327,854,855],{"class":341}," [my-app]\n",[327,857,858,861,864],{"class":329,"line":367},[327,859,860],{"class":632},"  ├─",[327,862,863],{"class":360}," action:",[327,865,866],{"class":360}," user_login\n",[327,868,869,871,874],{"class":329,"line":374},[327,870,860],{"class":632},[327,872,873],{"class":360}," userId:",[327,875,876],{"class":738}," 42\n",[327,878,879,881,884],{"class":329,"line":387},[327,880,860],{"class":632},[327,882,883],{"class":360}," method:",[327,885,886],{"class":360}," oauth\n",[327,888,889,892,895],{"class":329,"line":415},[327,890,891],{"class":632},"  └─",[327,893,894],{"class":360}," provider:",[327,896,897],{"class":360}," github\n",[296,899,900,903,904,907],{"color":298,"icon":13},[304,901,902],{},"Tagged logs"," are optimized for console readability. ",[304,905,906],{},"Structured events"," (object form) produce full wide events that flow through the drain pipeline to external services.",[309,909,911],{"id":910},"log-levels","Log Levels",[913,914,915,931],"table",{},[916,917,918],"thead",{},[919,920,921,925,928],"tr",{},[922,923,924],"th",{},"Level",[922,926,927],{},"Method",[922,929,930],{},"When to use",[932,933,934,949,963,977],"tbody",{},[919,935,936,941,946],{},[937,938,939],"td",{},[287,940,298],{},[937,942,943],{},[287,944,945],{},"log.info()",[937,947,948],{},"Normal operations: startup, shutdown, successful actions",[919,950,951,955,960],{},[937,952,953],{},[287,954,541],{},[937,956,957],{},[287,958,959],{},"log.warn()",[937,961,962],{},"Unexpected but recoverable situations: cache miss, retry, deprecation",[919,964,965,969,974],{},[937,966,967],{},[287,968,570],{},[937,970,971],{},[287,972,973],{},"log.error()",[937,975,976],{},"Failures that need attention: API errors, timeouts, invalid state",[919,978,979,983,988],{},[937,980,981],{},[287,982,599],{},[937,984,985],{},[287,986,987],{},"log.debug()",[937,989,990],{},"Development-only details: SQL queries, intermediate state, routing",[296,992,995,997,998,1001,1002,1005],{"color":993,"icon":994},"warning","i-lucide-lightbulb",[287,996,987],{}," calls can be stripped from production builds using the ",[999,1000,101],"a",{"href":102}," or the Nuxt module's ",[287,1003,1004],{},"strip"," option.",[309,1007,1009],{"id":1008},"common-patterns","Common Patterns",[471,1011,1013],{"id":1012},"application-lifecycle","Application Lifecycle",[317,1015,1017],{"className":319,"code":1016,"filename":321,"language":322,"meta":323,"style":323},"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",[287,1018,1019,1037,1041,1068,1133],{"__ignoreMap":323},[327,1020,1021,1023,1025,1027,1029,1031,1033,1035],{"class":329,"line":330},[327,1022,334],{"class":333},[327,1024,338],{"class":337},[327,1026,348],{"class":341},[327,1028,351],{"class":337},[327,1030,354],{"class":333},[327,1032,357],{"class":337},[327,1034,361],{"class":360},[327,1036,364],{"class":337},[327,1038,1039],{"class":329,"line":367},[327,1040,371],{"emptyLinePlaceholder":370},[327,1042,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061,1064,1066],{"class":329,"line":374},[327,1044,289],{"class":341},[327,1046,294],{"class":337},[327,1048,298],{"class":377},[327,1050,381],{"class":341},[327,1052,409],{"class":337},[327,1054,442],{"class":360},[327,1056,409],{"class":337},[327,1058,345],{"class":337},[327,1060,357],{"class":337},[327,1062,1063],{"class":360},"Starting server on port 3000",[327,1065,409],{"class":337},[327,1067,421],{"class":341},[327,1069,1070,1072,1074,1076,1078,1080,1082,1084,1086,1089,1091,1093,1096,1098,1100,1103,1105,1107,1110,1112,1114,1117,1119,1121,1124,1126,1129,1131],{"class":329,"line":387},[327,1071,289],{"class":341},[327,1073,294],{"class":337},[327,1075,298],{"class":377},[327,1077,381],{"class":341},[327,1079,716],{"class":337},[327,1081,719],{"class":390},[327,1083,394],{"class":337},[327,1085,357],{"class":337},[327,1087,1088],{"class":360},"db_connected",[327,1090,409],{"class":337},[327,1092,345],{"class":337},[327,1094,1095],{"class":390}," host",[327,1097,394],{"class":337},[327,1099,357],{"class":337},[327,1101,1102],{"class":360},"localhost",[327,1104,409],{"class":337},[327,1106,345],{"class":337},[327,1108,1109],{"class":390}," database",[327,1111,394],{"class":337},[327,1113,357],{"class":337},[327,1115,1116],{"class":360},"mydb",[327,1118,409],{"class":337},[327,1120,345],{"class":337},[327,1122,1123],{"class":390}," pool",[327,1125,394],{"class":337},[327,1127,1128],{"class":738}," 10",[327,1130,351],{"class":337},[327,1132,421],{"class":341},[327,1134,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1156,1158],{"class":329,"line":415},[327,1136,289],{"class":341},[327,1138,294],{"class":337},[327,1140,298],{"class":377},[327,1142,381],{"class":341},[327,1144,409],{"class":337},[327,1146,442],{"class":360},[327,1148,409],{"class":337},[327,1150,345],{"class":337},[327,1152,357],{"class":337},[327,1154,1155],{"class":360},"Ready to accept connections",[327,1157,409],{"class":337},[327,1159,421],{"class":341},[471,1161,1163],{"id":1162},"background-tasks","Background Tasks",[317,1165,1168],{"className":319,"code":1166,"filename":1167,"language":322,"meta":323,"style":323},"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",[287,1169,1170,1188,1192,1247],{"__ignoreMap":323},[327,1171,1172,1174,1176,1178,1180,1182,1184,1186],{"class":329,"line":330},[327,1173,334],{"class":333},[327,1175,338],{"class":337},[327,1177,348],{"class":341},[327,1179,351],{"class":337},[327,1181,354],{"class":333},[327,1183,357],{"class":337},[327,1185,361],{"class":360},[327,1187,364],{"class":337},[327,1189,1190],{"class":329,"line":367},[327,1191,371],{"emptyLinePlaceholder":370},[327,1193,1194,1196,1198,1200,1202,1204,1206,1208,1210,1213,1215,1217,1220,1222,1224,1227,1229,1231,1234,1236,1238,1241,1243,1245],{"class":329,"line":374},[327,1195,289],{"class":341},[327,1197,294],{"class":337},[327,1199,298],{"class":377},[327,1201,381],{"class":341},[327,1203,716],{"class":337},[327,1205,719],{"class":390},[327,1207,394],{"class":337},[327,1209,357],{"class":337},[327,1211,1212],{"class":360},"cron_started",[327,1214,409],{"class":337},[327,1216,345],{"class":337},[327,1218,1219],{"class":390}," job",[327,1221,394],{"class":337},[327,1223,357],{"class":337},[327,1225,1226],{"class":360},"cleanup",[327,1228,409],{"class":337},[327,1230,345],{"class":337},[327,1232,1233],{"class":390}," schedule",[327,1235,394],{"class":337},[327,1237,357],{"class":337},[327,1239,1240],{"class":360},"0 *\u002F6 * * *",[327,1242,409],{"class":337},[327,1244,351],{"class":337},[327,1246,421],{"class":341},[327,1248,1249,1251,1253,1255,1257,1259,1261,1263,1265,1268,1270,1272,1274,1276,1278,1280,1282,1284,1287,1289,1291,1293,1296,1298,1301,1303],{"class":329,"line":387},[327,1250,289],{"class":341},[327,1252,294],{"class":337},[327,1254,298],{"class":377},[327,1256,381],{"class":341},[327,1258,716],{"class":337},[327,1260,719],{"class":390},[327,1262,394],{"class":337},[327,1264,357],{"class":337},[327,1266,1267],{"class":360},"cron_completed",[327,1269,409],{"class":337},[327,1271,345],{"class":337},[327,1273,1219],{"class":390},[327,1275,394],{"class":337},[327,1277,357],{"class":337},[327,1279,1226],{"class":360},[327,1281,409],{"class":337},[327,1283,345],{"class":337},[327,1285,1286],{"class":390}," deleted",[327,1288,394],{"class":337},[327,1290,739],{"class":738},[327,1292,345],{"class":337},[327,1294,1295],{"class":390}," duration",[327,1297,394],{"class":337},[327,1299,1300],{"class":738}," 1200",[327,1302,351],{"class":337},[327,1304,421],{"class":341},[471,1306,1308],{"id":1307},"utility-functions","Utility Functions",[317,1310,1313],{"className":319,"code":1311,"filename":1312,"language":322,"meta":323,"style":323},"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",[287,1314,1315,1333,1337,1363,1419,1423,1446,1500,1506,1512],{"__ignoreMap":323},[327,1316,1317,1319,1321,1323,1325,1327,1329,1331],{"class":329,"line":330},[327,1318,334],{"class":333},[327,1320,338],{"class":337},[327,1322,348],{"class":341},[327,1324,351],{"class":337},[327,1326,354],{"class":333},[327,1328,357],{"class":337},[327,1330,361],{"class":360},[327,1332,364],{"class":337},[327,1334,1335],{"class":329,"line":367},[327,1336,371],{"emptyLinePlaceholder":370},[327,1338,1339,1343,1346,1348,1352,1354,1357,1360],{"class":329,"line":374},[327,1340,1342],{"class":1341},"spNyl","function",[327,1344,1345],{"class":377}," processWebhook",[327,1347,381],{"class":337},[327,1349,1351],{"class":1350},"sHdIc","payload",[327,1353,394],{"class":337},[327,1355,1356],{"class":632}," WebhookPayload",[327,1358,1359],{"class":337},")",[327,1361,1362],{"class":337}," {\n",[327,1364,1365,1368,1370,1372,1374,1376,1378,1380,1382,1385,1387,1389,1392,1394,1397,1399,1402,1404,1406,1408,1410,1412,1415,1417],{"class":329,"line":387},[327,1366,1367],{"class":341},"  log",[327,1369,294],{"class":337},[327,1371,298],{"class":377},[327,1373,381],{"class":390},[327,1375,716],{"class":337},[327,1377,719],{"class":390},[327,1379,394],{"class":337},[327,1381,357],{"class":337},[327,1383,1384],{"class":360},"webhook_received",[327,1386,409],{"class":337},[327,1388,345],{"class":337},[327,1390,1391],{"class":390}," type",[327,1393,394],{"class":337},[327,1395,1396],{"class":341}," payload",[327,1398,294],{"class":337},[327,1400,1401],{"class":341},"type",[327,1403,345],{"class":337},[327,1405,799],{"class":390},[327,1407,394],{"class":337},[327,1409,1396],{"class":341},[327,1411,294],{"class":337},[327,1413,1414],{"class":341},"source",[327,1416,351],{"class":337},[327,1418,421],{"class":390},[327,1420,1421],{"class":329,"line":415},[327,1422,371],{"emptyLinePlaceholder":370},[327,1424,1425,1428,1431,1434,1437,1439,1441,1444],{"class":329,"line":424},[327,1426,1427],{"class":333},"  if",[327,1429,1430],{"class":390}," (",[327,1432,1433],{"class":337},"!",[327,1435,1436],{"class":377},"isValid",[327,1438,381],{"class":390},[327,1440,1351],{"class":341},[327,1442,1443],{"class":390},")) ",[327,1445,384],{"class":337},[327,1447,1448,1451,1453,1455,1457,1459,1461,1463,1465,1468,1470,1472,1474,1476,1478,1480,1482,1484,1487,1489,1491,1494,1496,1498],{"class":329,"line":429},[327,1449,1450],{"class":341},"    log",[327,1452,294],{"class":337},[327,1454,541],{"class":377},[327,1456,381],{"class":390},[327,1458,716],{"class":337},[327,1460,719],{"class":390},[327,1462,394],{"class":337},[327,1464,357],{"class":337},[327,1466,1467],{"class":360},"webhook_invalid",[327,1469,409],{"class":337},[327,1471,345],{"class":337},[327,1473,1391],{"class":390},[327,1475,394],{"class":337},[327,1477,1396],{"class":341},[327,1479,294],{"class":337},[327,1481,1401],{"class":341},[327,1483,345],{"class":337},[327,1485,1486],{"class":390}," reason",[327,1488,394],{"class":337},[327,1490,357],{"class":337},[327,1492,1493],{"class":360},"missing_signature",[327,1495,409],{"class":337},[327,1497,351],{"class":337},[327,1499,421],{"class":390},[327,1501,1503],{"class":329,"line":1502},8,[327,1504,1505],{"class":333},"    return\n",[327,1507,1509],{"class":329,"line":1508},9,[327,1510,1511],{"class":337},"  }\n",[327,1513,1515],{"class":329,"line":1514},10,[327,1516,1517],{"class":337},"}\n",[309,1519,1521],{"id":1520},"drain-integration","Drain Integration",[283,1523,1524,1525,1528],{},"When using the object form, events are sent through the ",[999,1526,1527],{"href":194},"drain pipeline"," just like wide events:",[317,1530,1532],{"className":319,"code":1531,"filename":321,"language":322,"meta":323,"style":323},"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",[287,1533,1534,1556,1576,1580,1588,1608,1623,1629,1633],{"__ignoreMap":323},[327,1535,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554],{"class":329,"line":330},[327,1537,334],{"class":333},[327,1539,338],{"class":337},[327,1541,342],{"class":341},[327,1543,345],{"class":337},[327,1545,348],{"class":341},[327,1547,351],{"class":337},[327,1549,354],{"class":333},[327,1551,357],{"class":337},[327,1553,361],{"class":360},[327,1555,364],{"class":337},[327,1557,1558,1560,1562,1565,1567,1569,1571,1574],{"class":329,"line":367},[327,1559,334],{"class":333},[327,1561,338],{"class":337},[327,1563,1564],{"class":341}," createAxiomDrain",[327,1566,351],{"class":337},[327,1568,354],{"class":333},[327,1570,357],{"class":337},[327,1572,1573],{"class":360},"evlog\u002Faxiom",[327,1575,364],{"class":337},[327,1577,1578],{"class":329,"line":374},[327,1579,371],{"emptyLinePlaceholder":370},[327,1581,1582,1584,1586],{"class":329,"line":387},[327,1583,378],{"class":377},[327,1585,381],{"class":341},[327,1587,384],{"class":337},[327,1589,1590,1592,1594,1596,1598,1600,1602,1604,1606],{"class":329,"line":415},[327,1591,391],{"class":390},[327,1593,394],{"class":337},[327,1595,338],{"class":337},[327,1597,399],{"class":390},[327,1599,394],{"class":337},[327,1601,357],{"class":337},[327,1603,406],{"class":360},[327,1605,409],{"class":337},[327,1607,412],{"class":337},[327,1609,1610,1613,1615,1617,1620],{"class":329,"line":424},[327,1611,1612],{"class":390},"  drain",[327,1614,394],{"class":337},[327,1616,1564],{"class":377},[327,1618,1619],{"class":341},"()",[327,1621,1622],{"class":337},",\n",[327,1624,1625,1627],{"class":329,"line":429},[327,1626,418],{"class":337},[327,1628,421],{"class":341},[327,1630,1631],{"class":329,"line":1502},[327,1632,371],{"emptyLinePlaceholder":370},[327,1634,1635,1637,1639,1641,1643,1645,1647,1649,1651,1654,1656,1658,1661,1663,1665,1668,1670,1672,1675,1677,1679,1682,1684,1686],{"class":329,"line":1508},[327,1636,289],{"class":341},[327,1638,294],{"class":337},[327,1640,298],{"class":377},[327,1642,381],{"class":341},[327,1644,716],{"class":337},[327,1646,719],{"class":390},[327,1648,394],{"class":337},[327,1650,357],{"class":337},[327,1652,1653],{"class":360},"deploy",[327,1655,409],{"class":337},[327,1657,345],{"class":337},[327,1659,1660],{"class":390}," version",[327,1662,394],{"class":337},[327,1664,357],{"class":337},[327,1666,1667],{"class":360},"1.2.3",[327,1669,409],{"class":337},[327,1671,345],{"class":337},[327,1673,1674],{"class":390}," region",[327,1676,394],{"class":337},[327,1678,357],{"class":337},[327,1680,1681],{"class":360},"us-east-1",[327,1683,409],{"class":337},[327,1685,351],{"class":337},[327,1687,421],{"class":341},[309,1689,1691],{"id":1690},"when-to-upgrade-to-createlogger","When to Upgrade to createLogger",[283,1693,1694,1695,1697,1698,1701,1702,394],{},"Use ",[287,1696,289],{}," when each event is self-contained. When you need to ",[304,1699,1700],{},"accumulate context"," across multiple steps of an operation, switch to ",[999,1703,1704],{"href":47},[287,1705,1706],{},"createLogger",[317,1708,1711],{"className":319,"code":1709,"filename":1710,"language":322,"meta":323,"style":323},"import { log, createLogger } from 'evlog'\n\n\u002F\u002F log: each call is independent\nlog.info({ action: 'sync_started', source: 'postgres' })\nlog.info({ action: 'sync_completed', records: 150 })\n\n\u002F\u002F createLogger: accumulate context, emit once\nconst syncLog = createLogger({ source: 'postgres' })\nsyncLog.set({ records: 150 })\nsyncLog.set({ status: 'complete' })\nsyncLog.emit()\n","scripts\u002Fsync-data.ts",[287,1712,1713,1736,1740,1746,1785,1822,1826,1831,1862,1886,1914],{"__ignoreMap":323},[327,1714,1715,1717,1719,1721,1723,1726,1728,1730,1732,1734],{"class":329,"line":330},[327,1716,334],{"class":333},[327,1718,338],{"class":337},[327,1720,348],{"class":341},[327,1722,345],{"class":337},[327,1724,1725],{"class":341}," createLogger",[327,1727,351],{"class":337},[327,1729,354],{"class":333},[327,1731,357],{"class":337},[327,1733,361],{"class":360},[327,1735,364],{"class":337},[327,1737,1738],{"class":329,"line":367},[327,1739,371],{"emptyLinePlaceholder":370},[327,1741,1742],{"class":329,"line":374},[327,1743,1745],{"class":1744},"sHwdD","\u002F\u002F log: each call is independent\n",[327,1747,1748,1750,1752,1754,1756,1758,1760,1762,1764,1767,1769,1771,1773,1775,1777,1779,1781,1783],{"class":329,"line":387},[327,1749,289],{"class":341},[327,1751,294],{"class":337},[327,1753,298],{"class":377},[327,1755,381],{"class":341},[327,1757,716],{"class":337},[327,1759,719],{"class":390},[327,1761,394],{"class":337},[327,1763,357],{"class":337},[327,1765,1766],{"class":360},"sync_started",[327,1768,409],{"class":337},[327,1770,345],{"class":337},[327,1772,799],{"class":390},[327,1774,394],{"class":337},[327,1776,357],{"class":337},[327,1778,806],{"class":360},[327,1780,409],{"class":337},[327,1782,351],{"class":337},[327,1784,421],{"class":341},[327,1786,1787,1789,1791,1793,1795,1797,1799,1801,1803,1806,1808,1810,1813,1815,1818,1820],{"class":329,"line":415},[327,1788,289],{"class":341},[327,1790,294],{"class":337},[327,1792,298],{"class":377},[327,1794,381],{"class":341},[327,1796,716],{"class":337},[327,1798,719],{"class":390},[327,1800,394],{"class":337},[327,1802,357],{"class":337},[327,1804,1805],{"class":360},"sync_completed",[327,1807,409],{"class":337},[327,1809,345],{"class":337},[327,1811,1812],{"class":390}," records",[327,1814,394],{"class":337},[327,1816,1817],{"class":738}," 150",[327,1819,351],{"class":337},[327,1821,421],{"class":341},[327,1823,1824],{"class":329,"line":424},[327,1825,371],{"emptyLinePlaceholder":370},[327,1827,1828],{"class":329,"line":429},[327,1829,1830],{"class":1744},"\u002F\u002F createLogger: accumulate context, emit once\n",[327,1832,1833,1836,1839,1842,1844,1846,1848,1850,1852,1854,1856,1858,1860],{"class":329,"line":1502},[327,1834,1835],{"class":1341},"const",[327,1837,1838],{"class":341}," syncLog ",[327,1840,1841],{"class":337},"=",[327,1843,1725],{"class":377},[327,1845,381],{"class":341},[327,1847,716],{"class":337},[327,1849,799],{"class":390},[327,1851,394],{"class":337},[327,1853,357],{"class":337},[327,1855,806],{"class":360},[327,1857,409],{"class":337},[327,1859,351],{"class":337},[327,1861,421],{"class":341},[327,1863,1864,1867,1869,1872,1874,1876,1878,1880,1882,1884],{"class":329,"line":1508},[327,1865,1866],{"class":341},"syncLog",[327,1868,294],{"class":337},[327,1870,1871],{"class":377},"set",[327,1873,381],{"class":341},[327,1875,716],{"class":337},[327,1877,1812],{"class":390},[327,1879,394],{"class":337},[327,1881,1817],{"class":738},[327,1883,351],{"class":337},[327,1885,421],{"class":341},[327,1887,1888,1890,1892,1894,1896,1898,1901,1903,1905,1908,1910,1912],{"class":329,"line":1514},[327,1889,1866],{"class":341},[327,1891,294],{"class":337},[327,1893,1871],{"class":377},[327,1895,381],{"class":341},[327,1897,716],{"class":337},[327,1899,1900],{"class":390}," status",[327,1902,394],{"class":337},[327,1904,357],{"class":337},[327,1906,1907],{"class":360},"complete",[327,1909,409],{"class":337},[327,1911,351],{"class":337},[327,1913,421],{"class":341},[327,1915,1917,1919,1921,1924],{"class":329,"line":1916},11,[327,1918,1866],{"class":341},[327,1920,294],{"class":337},[327,1922,1923],{"class":377},"emit",[327,1925,1926],{"class":341},"()\n",[309,1928,1930],{"id":1929},"next-steps","Next Steps",[1932,1933,1934,1940,1956,1964],"ul",{},[1935,1936,1937,1939],"li",{},[999,1938,46],{"href":47},": Accumulate context and emit comprehensive events",[1935,1941,1942,1944,1945,1948,1949,1952,1953],{},[999,1943,51],{"href":52},": Throw errors with ",[287,1946,1947],{},"why",", ",[287,1950,1951],{},"fix",", and ",[287,1954,1955],{},"link",[1935,1957,1958,1960,1961,1963],{},[999,1959,76],{"href":77},": All ",[287,1962,378],{}," options",[1935,1965,1966,1968],{},[999,1967,189],{"href":194},": Send events to Axiom, Sentry, PostHog, and more",[1970,1971,1972],"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}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":323,"searchDepth":367,"depth":367,"links":1974},[1975,1976,1980,1981,1986,1987,1988],{"id":311,"depth":367,"text":312},{"id":468,"depth":367,"text":469,"children":1977},[1978,1979],{"id":473,"depth":374,"text":474},{"id":672,"depth":374,"text":673},{"id":910,"depth":367,"text":911},{"id":1008,"depth":367,"text":1009,"children":1982},[1983,1984,1985],{"id":1012,"depth":374,"text":1013},{"id":1162,"depth":374,"text":1163},{"id":1307,"depth":374,"text":1308},{"id":1520,"depth":367,"text":1521},{"id":1690,"depth":367,"text":1691},{"id":1929,"depth":367,"text":1930},"Structured logging for everyday use. Replace console.log with log.info, log.error, log.warn, and log.debug. Fire-and-forget events with pretty output in dev and JSON in production.","md",[1992,1995],{"label":46,"icon":49,"to":47,"color":1993,"variant":1994},"neutral","subtle",{"label":76,"icon":79,"to":77,"color":1993,"variant":1994},{},{"icon":44},{"title":41,"description":1989},"4Cg68334qiOW89KKBf-1LIs_xQv9rMK9_7OJqYebeV4",[2001,2003],{"title":36,"path":37,"stem":38,"description":2002,"icon":39,"children":-1},"evlog gives you three ways to log. Simple one-liners, wide events that accumulate context, and auto-managed request logging. Choose the right one for your use case.",{"title":46,"path":47,"stem":48,"description":2004,"icon":49,"children":-1},"Accumulate context over any unit of work and emit a single comprehensive event. Works for HTTP requests, scripts, background jobs, queue workers, and workflows.",1775289483360]