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