[{"data":1,"prerenderedAt":1198},["ShallowReactive",2],{"navigation_docs":3,"-adapters-overview":111,"-adapters-overview-surround":1193},[4,30,54,94],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","/getting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","/getting-started/quick-start","1.getting-started/3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","/getting-started/agent-skills","1.getting-started/4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Core Concepts","/core-concepts","2.core-concepts",[35,40,45,50],{"title":36,"path":37,"stem":38,"icon":39},"Wide Events","/core-concepts/wide-events","2.core-concepts/1.wide-events","i-lucide-layers",{"title":41,"path":42,"stem":43,"icon":44},"Structured Errors","/core-concepts/structured-errors","2.core-concepts/2.structured-errors","i-lucide-shield-alert",{"title":46,"path":47,"stem":48,"icon":49},"Best Practices","/core-concepts/best-practices","2.core-concepts/3.best-practices","i-lucide-shield-check",{"title":51,"path":52,"stem":53,"icon":49},"Typed Fields","/core-concepts/typed-fields","2.core-concepts/4.typed-fields",{"title":55,"path":56,"stem":57,"children":58,"page":29},"Adapters","/adapters","3.adapters",[59,64,69,74,79,84,89],{"title":60,"path":61,"stem":62,"icon":63},"Overview","/adapters/overview","3.adapters/1.overview","i-custom-plug",{"title":65,"path":66,"stem":67,"icon":68},"Axiom","/adapters/axiom","3.adapters/2.axiom","i-custom-axiom",{"title":70,"path":71,"stem":72,"icon":73},"OTLP","/adapters/otlp","3.adapters/3.otlp","i-simple-icons-opentelemetry",{"title":75,"path":76,"stem":77,"icon":78},"PostHog","/adapters/posthog","3.adapters/4.posthog","i-simple-icons-posthog",{"title":80,"path":81,"stem":82,"icon":83},"Sentry","/adapters/sentry","3.adapters/5.sentry","i-simple-icons-sentry",{"title":85,"path":86,"stem":87,"icon":88},"Custom Adapters","/adapters/custom","3.adapters/6.custom","i-lucide-code",{"title":90,"path":91,"stem":92,"icon":93},"Pipeline","/adapters/pipeline","3.adapters/7.pipeline","i-lucide-workflow",{"title":95,"path":96,"stem":97,"children":98,"page":29},"Enrichers","/enrichers","4.enrichers",[99,102,107],{"title":60,"path":100,"stem":101,"icon":28},"/enrichers/overview","4.enrichers/1.overview",{"title":103,"path":104,"stem":105,"icon":106},"Built-in","/enrichers/built-in","4.enrichers/2.built-in","i-lucide-puzzle",{"title":108,"path":109,"stem":110,"icon":88},"Custom","/enrichers/custom","4.enrichers/3.custom",{"id":112,"title":113,"body":114,"description":1181,"extension":1182,"links":1183,"meta":1189,"navigation":1190,"path":61,"seo":1191,"stem":62,"__hash__":1192},"docs/3.adapters/1.overview.md","Adapters Overview",{"type":115,"value":116,"toc":1173},"minimark",[117,121,126,139,265,278,282,304,308,319,679,692,696,699,884,888,894,971,988,992,995,1085,1169],[118,119,120],"p",{},"Adapters let you send logs to external observability platforms. evlog provides built-in adapters for popular services, and you can create custom adapters for any destination.",[122,123,125],"h2",{"id":124},"how-adapters-work","How Adapters Work",[118,127,128,129,133,134,138],{},"Adapters hook into the ",[130,131,132],"code",{},"evlog:drain"," event, which fires after each request completes. The drain runs in ",[135,136,137],"strong",{},"fire-and-forget"," mode, meaning it never blocks the HTTP response.",[140,141,147],"pre",{"className":142,"code":143,"filename":144,"language":145,"meta":146,"style":146},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createAxiomDrain } from 'evlog/axiom'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createAxiomDrain())\n})\n","server/plugins/evlog-drain.ts","typescript","",[130,148,149,182,189,221,256],{"__ignoreMap":146},[150,151,154,158,162,166,169,172,175,179],"span",{"class":152,"line":153},"line",1,[150,155,157],{"class":156},"s7zQu","import",[150,159,161],{"class":160},"sMK4o"," {",[150,163,165],{"class":164},"sTEyZ"," createAxiomDrain",[150,167,168],{"class":160}," }",[150,170,171],{"class":156}," from",[150,173,174],{"class":160}," '",[150,176,178],{"class":177},"sfazB","evlog/axiom",[150,180,181],{"class":160},"'\n",[150,183,185],{"class":152,"line":184},2,[150,186,188],{"emptyLinePlaceholder":187},true,"\n",[150,190,192,195,198,202,205,207,211,214,218],{"class":152,"line":191},3,[150,193,194],{"class":156},"export",[150,196,197],{"class":156}," default",[150,199,201],{"class":200},"s2Zo4"," defineNitroPlugin",[150,203,204],{"class":164},"(",[150,206,204],{"class":160},[150,208,210],{"class":209},"sHdIc","nitroApp",[150,212,213],{"class":160},")",[150,215,217],{"class":216},"spNyl"," =>",[150,219,220],{"class":160}," {\n",[150,222,224,227,230,233,235,238,241,244,246,248,251,253],{"class":152,"line":223},4,[150,225,226],{"class":164},"  nitroApp",[150,228,229],{"class":160},".",[150,231,232],{"class":164},"hooks",[150,234,229],{"class":160},[150,236,237],{"class":200},"hook",[150,239,204],{"class":240},"swJcz",[150,242,243],{"class":160},"'",[150,245,132],{"class":177},[150,247,243],{"class":160},[150,249,250],{"class":160},",",[150,252,165],{"class":200},[150,254,255],{"class":240},"())\n",[150,257,259,262],{"class":152,"line":258},5,[150,260,261],{"class":160},"}",[150,263,264],{"class":164},")\n",[266,267,270,273,274,277],"callout",{"color":268,"icon":269},"info","i-lucide-cloud",[135,271,272],{},"Serverless Support:"," On Cloudflare Workers and Vercel Edge, evlog automatically uses ",[130,275,276],{},"waitUntil()"," to ensure drains complete before the runtime terminates. No additional configuration needed.",[122,279,281],{"id":280},"available-adapters","Available Adapters",[283,284,285,289,292,295,298,301],"card-group",{},[286,287,288],"card",{"icon":68,"title":65,"to":66},"Send logs to Axiom for powerful querying and dashboards.",[286,290,291],{"icon":73,"title":70,"to":71},"OpenTelemetry Protocol for Grafana, Datadog, Honeycomb, and more.",[286,293,294],{"icon":78,"title":75,"to":76},"Send logs to PostHog for product analytics and wide event querying.",[286,296,297],{"icon":83,"title":80,"to":81},"Send structured logs to Sentry Logs for high-cardinality querying.",[286,299,300],{"icon":88,"title":108,"to":86},"Build your own adapter for any destination.",[286,302,303],{"icon":93,"title":90,"to":91},"Batch events, retry on failure, and handle buffer overflow.",[122,305,307],{"id":306},"standalone-usage-without-nitro","Standalone Usage (Without Nitro)",[118,309,310,311,314,315,318],{},"In plain TypeScript or Bun scripts, use the ",[130,312,313],{},"drain"," option in ",[130,316,317],{},"initLogger"," instead of Nitro hooks. Every emitted event is drained automatically.",[140,320,323],{"className":142,"code":321,"filename":322,"language":145,"meta":146,"style":146},"import type { DrainContext } from 'evlog'\nimport { initLogger, log, createRequestLogger } from 'evlog'\nimport { createAxiomDrain } from 'evlog/axiom'\nimport { createDrainPipeline } from 'evlog/pipeline'\n\nconst pipeline = createDrainPipeline\u003CDrainContext>()\nconst drain = pipeline(createAxiomDrain())\n\ninitLogger({\n  env: { service: 'my-script' },\n  drain,\n})\n\nlog.info({ action: 'job_started' }) // drained automatically\n\nconst reqLog = createRequestLogger({ method: 'POST', path: '/process' })\nreqLog.set({ processed: 42 })\nreqLog.emit() // drained automatically\n\nawait drain.flush()\n","index.ts",[130,324,325,348,377,395,415,419,446,466,471,481,507,516,523,528,564,569,615,643,658,663],{"__ignoreMap":146},[150,326,327,329,332,334,337,339,341,343,346],{"class":152,"line":153},[150,328,157],{"class":156},[150,330,331],{"class":156}," type",[150,333,161],{"class":160},[150,335,336],{"class":164}," DrainContext",[150,338,168],{"class":160},[150,340,171],{"class":156},[150,342,174],{"class":160},[150,344,345],{"class":177},"evlog",[150,347,181],{"class":160},[150,349,350,352,354,357,359,362,364,367,369,371,373,375],{"class":152,"line":184},[150,351,157],{"class":156},[150,353,161],{"class":160},[150,355,356],{"class":164}," initLogger",[150,358,250],{"class":160},[150,360,361],{"class":164}," log",[150,363,250],{"class":160},[150,365,366],{"class":164}," createRequestLogger",[150,368,168],{"class":160},[150,370,171],{"class":156},[150,372,174],{"class":160},[150,374,345],{"class":177},[150,376,181],{"class":160},[150,378,379,381,383,385,387,389,391,393],{"class":152,"line":191},[150,380,157],{"class":156},[150,382,161],{"class":160},[150,384,165],{"class":164},[150,386,168],{"class":160},[150,388,171],{"class":156},[150,390,174],{"class":160},[150,392,178],{"class":177},[150,394,181],{"class":160},[150,396,397,399,401,404,406,408,410,413],{"class":152,"line":223},[150,398,157],{"class":156},[150,400,161],{"class":160},[150,402,403],{"class":164}," createDrainPipeline",[150,405,168],{"class":160},[150,407,171],{"class":156},[150,409,174],{"class":160},[150,411,412],{"class":177},"evlog/pipeline",[150,414,181],{"class":160},[150,416,417],{"class":152,"line":258},[150,418,188],{"emptyLinePlaceholder":187},[150,420,422,425,428,431,433,436,440,443],{"class":152,"line":421},6,[150,423,424],{"class":216},"const",[150,426,427],{"class":164}," pipeline ",[150,429,430],{"class":160},"=",[150,432,403],{"class":200},[150,434,435],{"class":160},"\u003C",[150,437,439],{"class":438},"sBMFI","DrainContext",[150,441,442],{"class":160},">",[150,444,445],{"class":164},"()\n",[150,447,449,451,454,456,459,461,464],{"class":152,"line":448},7,[150,450,424],{"class":216},[150,452,453],{"class":164}," drain ",[150,455,430],{"class":160},[150,457,458],{"class":200}," pipeline",[150,460,204],{"class":164},[150,462,463],{"class":200},"createAxiomDrain",[150,465,255],{"class":164},[150,467,469],{"class":152,"line":468},8,[150,470,188],{"emptyLinePlaceholder":187},[150,472,474,476,478],{"class":152,"line":473},9,[150,475,317],{"class":200},[150,477,204],{"class":164},[150,479,480],{"class":160},"{\n",[150,482,484,487,490,492,495,497,499,502,504],{"class":152,"line":483},10,[150,485,486],{"class":240},"  env",[150,488,489],{"class":160},":",[150,491,161],{"class":160},[150,493,494],{"class":240}," service",[150,496,489],{"class":160},[150,498,174],{"class":160},[150,500,501],{"class":177},"my-script",[150,503,243],{"class":160},[150,505,506],{"class":160}," },\n",[150,508,510,513],{"class":152,"line":509},11,[150,511,512],{"class":164},"  drain",[150,514,515],{"class":160},",\n",[150,517,519,521],{"class":152,"line":518},12,[150,520,261],{"class":160},[150,522,264],{"class":164},[150,524,526],{"class":152,"line":525},13,[150,527,188],{"emptyLinePlaceholder":187},[150,529,531,534,536,538,540,543,546,548,550,553,555,557,560],{"class":152,"line":530},14,[150,532,533],{"class":164},"log",[150,535,229],{"class":160},[150,537,268],{"class":200},[150,539,204],{"class":164},[150,541,542],{"class":160},"{",[150,544,545],{"class":240}," action",[150,547,489],{"class":160},[150,549,174],{"class":160},[150,551,552],{"class":177},"job_started",[150,554,243],{"class":160},[150,556,168],{"class":160},[150,558,559],{"class":164},") ",[150,561,563],{"class":562},"sHwdD","// drained automatically\n",[150,565,567],{"class":152,"line":566},15,[150,568,188],{"emptyLinePlaceholder":187},[150,570,572,574,577,579,581,583,585,588,590,592,595,597,599,602,604,606,609,611,613],{"class":152,"line":571},16,[150,573,424],{"class":216},[150,575,576],{"class":164}," reqLog ",[150,578,430],{"class":160},[150,580,366],{"class":200},[150,582,204],{"class":164},[150,584,542],{"class":160},[150,586,587],{"class":240}," method",[150,589,489],{"class":160},[150,591,174],{"class":160},[150,593,594],{"class":177},"POST",[150,596,243],{"class":160},[150,598,250],{"class":160},[150,600,601],{"class":240}," path",[150,603,489],{"class":160},[150,605,174],{"class":160},[150,607,608],{"class":177},"/process",[150,610,243],{"class":160},[150,612,168],{"class":160},[150,614,264],{"class":164},[150,616,618,621,623,626,628,630,633,635,639,641],{"class":152,"line":617},17,[150,619,620],{"class":164},"reqLog",[150,622,229],{"class":160},[150,624,625],{"class":200},"set",[150,627,204],{"class":164},[150,629,542],{"class":160},[150,631,632],{"class":240}," processed",[150,634,489],{"class":160},[150,636,638],{"class":637},"sbssI"," 42",[150,640,168],{"class":160},[150,642,264],{"class":164},[150,644,646,648,650,653,656],{"class":152,"line":645},18,[150,647,620],{"class":164},[150,649,229],{"class":160},[150,651,652],{"class":200},"emit",[150,654,655],{"class":164},"() ",[150,657,563],{"class":562},[150,659,661],{"class":152,"line":660},19,[150,662,188],{"emptyLinePlaceholder":187},[150,664,666,669,672,674,677],{"class":152,"line":665},20,[150,667,668],{"class":156},"await",[150,670,671],{"class":164}," drain",[150,673,229],{"class":160},[150,675,676],{"class":200},"flush",[150,678,445],{"class":164},[266,680,683,684,691],{"color":681,"icon":682},"neutral","i-lucide-arrow-right","See the full ",[685,686,690],"a",{"href":687,"rel":688},"https://github.com/HugoRCD/evlog/tree/main/examples/bun-script",[689],"nofollow","bun-script example"," for a realistic batch processing script.",[122,693,695],{"id":694},"multiple-destinations","Multiple Destinations",[118,697,698],{},"Send logs to multiple services simultaneously:",[140,700,702],{"className":142,"code":701,"filename":144,"language":145,"meta":146,"style":146},"import { createAxiomDrain } from 'evlog/axiom'\nimport { createOTLPDrain } from 'evlog/otlp'\n\nexport default defineNitroPlugin((nitroApp) => {\n  const axiom = createAxiomDrain()\n  const otlp = createOTLPDrain()\n\n  nitroApp.hooks.hook('evlog:drain', async (ctx) => {\n    await Promise.allSettled([axiom(ctx), otlp(ctx)])\n  })\n})\n",[130,703,704,722,742,746,766,781,794,798,835,871,878],{"__ignoreMap":146},[150,705,706,708,710,712,714,716,718,720],{"class":152,"line":153},[150,707,157],{"class":156},[150,709,161],{"class":160},[150,711,165],{"class":164},[150,713,168],{"class":160},[150,715,171],{"class":156},[150,717,174],{"class":160},[150,719,178],{"class":177},[150,721,181],{"class":160},[150,723,724,726,728,731,733,735,737,740],{"class":152,"line":184},[150,725,157],{"class":156},[150,727,161],{"class":160},[150,729,730],{"class":164}," createOTLPDrain",[150,732,168],{"class":160},[150,734,171],{"class":156},[150,736,174],{"class":160},[150,738,739],{"class":177},"evlog/otlp",[150,741,181],{"class":160},[150,743,744],{"class":152,"line":191},[150,745,188],{"emptyLinePlaceholder":187},[150,747,748,750,752,754,756,758,760,762,764],{"class":152,"line":223},[150,749,194],{"class":156},[150,751,197],{"class":156},[150,753,201],{"class":200},[150,755,204],{"class":164},[150,757,204],{"class":160},[150,759,210],{"class":209},[150,761,213],{"class":160},[150,763,217],{"class":216},[150,765,220],{"class":160},[150,767,768,771,774,777,779],{"class":152,"line":258},[150,769,770],{"class":216},"  const",[150,772,773],{"class":164}," axiom",[150,775,776],{"class":160}," =",[150,778,165],{"class":200},[150,780,445],{"class":240},[150,782,783,785,788,790,792],{"class":152,"line":421},[150,784,770],{"class":216},[150,786,787],{"class":164}," otlp",[150,789,776],{"class":160},[150,791,730],{"class":200},[150,793,445],{"class":240},[150,795,796],{"class":152,"line":448},[150,797,188],{"emptyLinePlaceholder":187},[150,799,800,802,804,806,808,810,812,814,816,818,820,823,826,829,831,833],{"class":152,"line":468},[150,801,226],{"class":164},[150,803,229],{"class":160},[150,805,232],{"class":164},[150,807,229],{"class":160},[150,809,237],{"class":200},[150,811,204],{"class":240},[150,813,243],{"class":160},[150,815,132],{"class":177},[150,817,243],{"class":160},[150,819,250],{"class":160},[150,821,822],{"class":216}," async",[150,824,825],{"class":160}," (",[150,827,828],{"class":209},"ctx",[150,830,213],{"class":160},[150,832,217],{"class":216},[150,834,220],{"class":160},[150,836,837,840,843,845,848,851,854,856,858,860,862,864,866,868],{"class":152,"line":473},[150,838,839],{"class":156},"    await",[150,841,842],{"class":438}," Promise",[150,844,229],{"class":160},[150,846,847],{"class":200},"allSettled",[150,849,850],{"class":240},"([",[150,852,853],{"class":200},"axiom",[150,855,204],{"class":240},[150,857,828],{"class":164},[150,859,213],{"class":240},[150,861,250],{"class":160},[150,863,787],{"class":200},[150,865,204],{"class":240},[150,867,828],{"class":164},[150,869,870],{"class":240},")])\n",[150,872,873,876],{"class":152,"line":483},[150,874,875],{"class":160},"  }",[150,877,264],{"class":240},[150,879,880,882],{"class":152,"line":509},[150,881,261],{"class":160},[150,883,264],{"class":164},[122,885,887],{"id":886},"drain-context","Drain Context",[118,889,890,891,893],{},"Every adapter receives a ",[130,892,439],{}," with:",[895,896,897,913],"table",{},[898,899,900],"thead",{},[901,902,903,907,910],"tr",{},[904,905,906],"th",{},"Field",[904,908,909],{},"Type",[904,911,912],{},"Description",[914,915,916,932,957],"tbody",{},[901,917,918,924,929],{},[919,920,921],"td",{},[130,922,923],{},"event",[919,925,926],{},[130,927,928],{},"WideEvent",[919,930,931],{},"The complete log event with all accumulated context",[901,933,934,939,944],{},[919,935,936],{},[130,937,938],{},"request",[919,940,941],{},[130,942,943],{},"object",[919,945,946,947,950,951,950,954,213],{},"Request metadata (",[130,948,949],{},"method",", ",[130,952,953],{},"path",[130,955,956],{},"requestId",[901,958,959,964,968],{},[919,960,961],{},[130,962,963],{},"headers",[919,965,966],{},[130,967,943],{},[919,969,970],{},"Safe HTTP headers (sensitive headers are filtered)",[266,972,974,977,978,950,981,950,984,987],{"color":973,"icon":49},"success",[135,975,976],{},"Security:"," Sensitive headers (",[130,979,980],{},"authorization",[130,982,983],{},"cookie",[130,985,986],{},"x-api-key",", etc.) are automatically filtered and never passed to adapters.",[122,989,991],{"id":990},"zero-config-setup","Zero-Config Setup",[118,993,994],{},"All adapters support automatic configuration via environment variables. No code changes needed when deploying to different environments:",[140,996,1001],{"className":997,"code":998,"filename":999,"language":1000,"meta":146,"style":146},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Axiom\nNUXT_AXIOM_TOKEN=xaat-xxx\nNUXT_AXIOM_DATASET=my-logs\n\n# OTLP\nNUXT_OTLP_ENDPOINT=https://otlp.example.com\n\n# PostHog\nNUXT_POSTHOG_API_KEY=phc_xxx\n\n# Sentry\nNUXT_SENTRY_DSN=https://key@o0.ingest.sentry.io/123\n",".env","bash",[130,1002,1003,1008,1018,1028,1032,1037,1047,1051,1056,1066,1070,1075],{"__ignoreMap":146},[150,1004,1005],{"class":152,"line":153},[150,1006,1007],{"class":562},"# Axiom\n",[150,1009,1010,1013,1015],{"class":152,"line":184},[150,1011,1012],{"class":164},"NUXT_AXIOM_TOKEN",[150,1014,430],{"class":160},[150,1016,1017],{"class":177},"xaat-xxx\n",[150,1019,1020,1023,1025],{"class":152,"line":191},[150,1021,1022],{"class":164},"NUXT_AXIOM_DATASET",[150,1024,430],{"class":160},[150,1026,1027],{"class":177},"my-logs\n",[150,1029,1030],{"class":152,"line":223},[150,1031,188],{"emptyLinePlaceholder":187},[150,1033,1034],{"class":152,"line":258},[150,1035,1036],{"class":562},"# OTLP\n",[150,1038,1039,1042,1044],{"class":152,"line":421},[150,1040,1041],{"class":164},"NUXT_OTLP_ENDPOINT",[150,1043,430],{"class":160},[150,1045,1046],{"class":177},"https://otlp.example.com\n",[150,1048,1049],{"class":152,"line":448},[150,1050,188],{"emptyLinePlaceholder":187},[150,1052,1053],{"class":152,"line":468},[150,1054,1055],{"class":562},"# PostHog\n",[150,1057,1058,1061,1063],{"class":152,"line":473},[150,1059,1060],{"class":164},"NUXT_POSTHOG_API_KEY",[150,1062,430],{"class":160},[150,1064,1065],{"class":177},"phc_xxx\n",[150,1067,1068],{"class":152,"line":483},[150,1069,188],{"emptyLinePlaceholder":187},[150,1071,1072],{"class":152,"line":509},[150,1073,1074],{"class":562},"# Sentry\n",[150,1076,1077,1080,1082],{"class":152,"line":518},[150,1078,1079],{"class":164},"NUXT_SENTRY_DSN",[150,1081,430],{"class":160},[150,1083,1084],{"class":177},"https://key@o0.ingest.sentry.io/123\n",[140,1086,1088],{"className":142,"code":1087,"filename":144,"language":145,"meta":146,"style":146},"import { createAxiomDrain } from 'evlog/axiom'\n\nexport default defineNitroPlugin((nitroApp) => {\n  // Automatically reads from env vars\n  nitroApp.hooks.hook('evlog:drain', createAxiomDrain())\n})\n",[130,1089,1090,1108,1112,1132,1137,1163],{"__ignoreMap":146},[150,1091,1092,1094,1096,1098,1100,1102,1104,1106],{"class":152,"line":153},[150,1093,157],{"class":156},[150,1095,161],{"class":160},[150,1097,165],{"class":164},[150,1099,168],{"class":160},[150,1101,171],{"class":156},[150,1103,174],{"class":160},[150,1105,178],{"class":177},[150,1107,181],{"class":160},[150,1109,1110],{"class":152,"line":184},[150,1111,188],{"emptyLinePlaceholder":187},[150,1113,1114,1116,1118,1120,1122,1124,1126,1128,1130],{"class":152,"line":191},[150,1115,194],{"class":156},[150,1117,197],{"class":156},[150,1119,201],{"class":200},[150,1121,204],{"class":164},[150,1123,204],{"class":160},[150,1125,210],{"class":209},[150,1127,213],{"class":160},[150,1129,217],{"class":216},[150,1131,220],{"class":160},[150,1133,1134],{"class":152,"line":223},[150,1135,1136],{"class":562},"  // Automatically reads from env vars\n",[150,1138,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161],{"class":152,"line":258},[150,1140,226],{"class":164},[150,1142,229],{"class":160},[150,1144,232],{"class":164},[150,1146,229],{"class":160},[150,1148,237],{"class":200},[150,1150,204],{"class":240},[150,1152,243],{"class":160},[150,1154,132],{"class":177},[150,1156,243],{"class":160},[150,1158,250],{"class":160},[150,1160,165],{"class":200},[150,1162,255],{"class":240},[150,1164,1165,1167],{"class":152,"line":421},[150,1166,261],{"class":160},[150,1168,264],{"class":164},[1170,1171,1172],"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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .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}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":146,"searchDepth":184,"depth":184,"links":1174},[1175,1176,1177,1178,1179,1180],{"id":124,"depth":184,"text":125},{"id":280,"depth":184,"text":281},{"id":306,"depth":184,"text":307},{"id":694,"depth":184,"text":695},{"id":886,"depth":184,"text":887},{"id":990,"depth":184,"text":991},"Send your logs to external services with evlog adapters. Built-in support for Axiom, OTLP, Sentry, and custom destinations.","md",[1184,1186,1187,1188],{"label":65,"icon":68,"to":66,"color":681,"variant":1185},"subtle",{"label":70,"icon":73,"to":71,"color":681,"variant":1185},{"label":75,"icon":78,"to":76,"color":681,"variant":1185},{"label":80,"icon":83,"to":81,"color":681,"variant":1185},{},{"title":60,"icon":63},{"title":113,"description":1181},"z-0p0Cw0ngPPvFREwfotnEHq7ywl4TeK8e2Vp4IZTs4",[1194,1196],{"title":51,"path":52,"stem":53,"description":1195,"icon":49,"children":-1},"Add compile-time type safety to your wide events. Prevent typos and ensure consistent field names across your codebase.",{"title":65,"path":66,"stem":67,"description":1197,"icon":68,"children":-1},"Send logs to Axiom for powerful querying, dashboards, and alerting. Zero-config setup with environment variables.",1770763612952]