[{"data":1,"prerenderedAt":2304},["ShallowReactive",2],{"navigation_docs":3,"-adapters-posthog":228,"-adapters-posthog-surround":2299},[4,30,110,149,198,214],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Frameworks","\u002Fframeworks","2.frameworks",[35,40,45,50,55,60,65,70,75,80,85,90,95,100,105],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Fframeworks\u002Foverview","2.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":41,"path":42,"stem":43,"icon":44},"Nuxt","\u002Fframeworks\u002Fnuxt","2.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":46,"path":47,"stem":48,"icon":49},"Next.js","\u002Fframeworks\u002Fnextjs","2.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":51,"path":52,"stem":53,"icon":54},"SvelteKit","\u002Fframeworks\u002Fsveltekit","2.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":56,"path":57,"stem":58,"icon":59},"Nitro","\u002Fframeworks\u002Fnitro","2.frameworks\u002F04.nitro","i-custom-nitro",{"title":61,"path":62,"stem":63,"icon":64},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","2.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":66,"path":67,"stem":68,"icon":69},"NestJS","\u002Fframeworks\u002Fnestjs","2.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":71,"path":72,"stem":73,"icon":74},"Express","\u002Fframeworks\u002Fexpress","2.frameworks\u002F07.express","i-simple-icons-express",{"title":76,"path":77,"stem":78,"icon":79},"Hono","\u002Fframeworks\u002Fhono","2.frameworks\u002F08.hono","i-simple-icons-hono",{"title":81,"path":82,"stem":83,"icon":84},"Fastify","\u002Fframeworks\u002Ffastify","2.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":86,"path":87,"stem":88,"icon":89},"Elysia","\u002Fframeworks\u002Felysia","2.frameworks\u002F10.elysia","i-custom-elysia",{"title":91,"path":92,"stem":93,"icon":94},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","2.frameworks\u002F11.cloudflare-workers","i-simple-icons-cloudflare",{"title":96,"path":97,"stem":98,"icon":99},"Standalone","\u002Fframeworks\u002Fstandalone","2.frameworks\u002F12.standalone","i-simple-icons-typescript",{"title":101,"path":102,"stem":103,"icon":104},"Astro","\u002Fframeworks\u002Fastro","2.frameworks\u002F13.astro","i-simple-icons-astro",{"title":106,"path":107,"stem":108,"icon":109},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","2.frameworks\u002F14.custom-integration","i-lucide-puzzle",{"title":111,"path":112,"stem":113,"children":114,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[115,120,125,130,135,139,144],{"title":116,"path":117,"stem":118,"icon":119},"Request Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":121,"path":122,"stem":123,"icon":124},"Wide Events","\u002Fcore-concepts\u002Fwide-events","3.core-concepts\u002F1.wide-events","i-lucide-layers",{"title":126,"path":127,"stem":128,"icon":129},"Structured Errors","\u002Fcore-concepts\u002Fstructured-errors","3.core-concepts\u002F2.structured-errors","i-lucide-shield-alert",{"title":131,"path":132,"stem":133,"icon":134},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F3.best-practices","i-lucide-shield-check",{"title":136,"path":137,"stem":138,"icon":99},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F4.typed-fields",{"title":140,"path":141,"stem":142,"icon":143},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F5.sampling","i-lucide-filter",{"title":145,"path":146,"stem":147,"icon":148},"Client Logging","\u002Fcore-concepts\u002Fclient-logging","3.core-concepts\u002F6.client-logging","i-lucide-monitor",{"title":150,"path":151,"stem":152,"children":153,"page":29},"Adapters","\u002Fadapters","4.adapters",[154,158,163,168,173,178,183,188,193],{"title":36,"path":155,"stem":156,"icon":157},"\u002Fadapters\u002Foverview","4.adapters\u002F1.overview","i-custom-plug",{"title":159,"path":160,"stem":161,"icon":162},"Axiom","\u002Fadapters\u002Faxiom","4.adapters\u002F2.axiom","i-custom-axiom",{"title":164,"path":165,"stem":166,"icon":167},"OTLP","\u002Fadapters\u002Fotlp","4.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":169,"path":170,"stem":171,"icon":172},"PostHog","\u002Fadapters\u002Fposthog","4.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":174,"path":175,"stem":176,"icon":177},"Sentry","\u002Fadapters\u002Fsentry","4.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":179,"path":180,"stem":181,"icon":182},"Better Stack","\u002Fadapters\u002Fbetter-stack","4.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":184,"path":185,"stem":186,"icon":187},"Custom Adapters","\u002Fadapters\u002Fcustom","4.adapters\u002F7.custom","i-lucide-code",{"title":189,"path":190,"stem":191,"icon":192},"Pipeline","\u002Fadapters\u002Fpipeline","4.adapters\u002F8.pipeline","i-lucide-workflow",{"title":194,"path":195,"stem":196,"icon":197},"Browser","\u002Fadapters\u002Fbrowser","4.adapters\u002F9.browser","i-lucide-globe",{"title":199,"path":200,"stem":201,"children":202,"page":29},"Enrichers","\u002Fenrichers","5.enrichers",[203,206,210],{"title":36,"path":204,"stem":205,"icon":28},"\u002Fenrichers\u002Foverview","5.enrichers\u002F1.overview",{"title":207,"path":208,"stem":209,"icon":109},"Built-in","\u002Fenrichers\u002Fbuilt-in","5.enrichers\u002F2.built-in",{"title":211,"path":212,"stem":213,"icon":187},"Custom","\u002Fenrichers\u002Fcustom","5.enrichers\u002F3.custom",{"title":215,"path":216,"stem":217,"children":218,"page":29},"NuxtHub","\u002Fnuxthub","6.nuxthub",[219,223],{"title":36,"path":220,"stem":221,"icon":222},"\u002Fnuxthub\u002Foverview","6.nuxthub\u002F1.overview","i-lucide-database",{"title":224,"path":225,"stem":226,"icon":227},"Retention","\u002Fnuxthub\u002Fretention","6.nuxthub\u002F2.retention","i-lucide-clock",{"id":229,"title":230,"body":231,"description":2285,"extension":2286,"links":2287,"meta":2295,"navigation":2296,"path":170,"seo":2297,"stem":171,"__hash__":2298},"docs\u002F4.adapters\u002F4.posthog.md","PostHog Adapter",{"type":232,"value":233,"toc":2255},"minimark",[234,250,254,257,300,303,308,341,345,364,368,816,819,823,826,860,864,918,922,929,1013,1017,1020,1077,1081,1157,1161,1171,1203,1207,1213,1253,1281,1285,1292,1305,1309,1315,1395,1409,1417,1421,1525,1529,1532,1620,1624,1630,1656,1660,1735,1738,1865,1869,1873,1881,1884,1888,1891,1911,1915,1921,1934,1938,1941,2060,2063,2223,2227,2251],[235,236,237,243,244,249],"p",{},[238,239,169],"a",{"href":240,"rel":241},"https:\u002F\u002Fposthog.com",[242],"nofollow"," is an open-source product analytics platform. The evlog PostHog adapter sends your wide events to ",[238,245,248],{"href":246,"rel":247},"https:\u002F\u002Fposthog.com\u002Fdocs\u002Flogs",[242],"PostHog Logs"," via the standard OTLP format, giving you a dedicated log viewer with filtering, search, and tail mode — all using your existing PostHog API key.",[251,252,15],"h2",{"id":253},"installation",[235,255,256],{},"The PostHog adapter comes bundled with evlog:",[258,259,264],"pre",{"className":260,"code":261,"language":262,"meta":263,"style":263},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createPostHogDrain } from 'evlog\u002Fposthog'\n","typescript","",[265,266,267],"code",{"__ignoreMap":263},[268,269,272,276,280,284,287,290,293,297],"span",{"class":270,"line":271},"line",1,[268,273,275],{"class":274},"s7zQu","import",[268,277,279],{"class":278},"sMK4o"," {",[268,281,283],{"class":282},"sTEyZ"," createPostHogDrain",[268,285,286],{"class":278}," }",[268,288,289],{"class":274}," from",[268,291,292],{"class":278}," '",[268,294,296],{"class":295},"sfazB","evlog\u002Fposthog",[268,298,299],{"class":278},"'\n",[251,301,20],{"id":302},"quick-start",[304,305,307],"h3",{"id":306},"_1-get-your-posthog-project-api-key","1. Get your PostHog project API key",[309,310,311,320,334],"ol",{},[312,313,314,315],"li",{},"Log in to your ",[238,316,319],{"href":317,"rel":318},"https:\u002F\u002Fapp.posthog.com",[242],"PostHog dashboard",[312,321,322,323,327,328,327,331],{},"Go to ",[324,325,326],"strong",{},"Settings"," > ",[324,329,330],{},"Project",[324,332,333],{},"Project API Key",[312,335,336,337,340],{},"Copy the key (starts with ",[265,338,339],{},"phc_",")",[304,342,344],{"id":343},"_2-set-environment-variables","2. Set environment variables",[258,346,351],{"className":347,"code":348,"filename":349,"language":350,"meta":263,"style":263},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POSTHOG_API_KEY=phc_your-project-api-key\n",".env","bash",[265,352,353],{"__ignoreMap":263},[268,354,355,358,361],{"class":270,"line":271},[268,356,357],{"class":282},"POSTHOG_API_KEY",[268,359,360],{"class":278},"=",[268,362,363],{"class":295},"phc_your-project-api-key\n",[304,365,367],{"id":366},"_3-wire-the-drain-to-your-framework","3. Wire the drain to your framework",[369,370,371,485,548,602,661,715,768],"code-group",{},[258,372,375],{"className":260,"code":373,"filename":374,"language":262,"meta":263,"style":263},"\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\nimport { createPostHogDrain } from 'evlog\u002Fposthog'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createPostHogDrain())\n})\n","Nuxt \u002F Nitro",[265,376,377,383,402,409,440,476],{"__ignoreMap":263},[268,378,379],{"class":270,"line":271},[268,380,382],{"class":381},"sHwdD","\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\n",[268,384,386,388,390,392,394,396,398,400],{"class":270,"line":385},2,[268,387,275],{"class":274},[268,389,279],{"class":278},[268,391,283],{"class":282},[268,393,286],{"class":278},[268,395,289],{"class":274},[268,397,292],{"class":278},[268,399,296],{"class":295},[268,401,299],{"class":278},[268,403,405],{"class":270,"line":404},3,[268,406,408],{"emptyLinePlaceholder":407},true,"\n",[268,410,412,415,418,422,425,427,431,433,437],{"class":270,"line":411},4,[268,413,414],{"class":274},"export",[268,416,417],{"class":274}," default",[268,419,421],{"class":420},"s2Zo4"," defineNitroPlugin",[268,423,424],{"class":282},"(",[268,426,424],{"class":278},[268,428,430],{"class":429},"sHdIc","nitroApp",[268,432,340],{"class":278},[268,434,436],{"class":435},"spNyl"," =>",[268,438,439],{"class":278}," {\n",[268,441,443,446,449,452,454,457,460,463,466,468,471,473],{"class":270,"line":442},5,[268,444,445],{"class":282},"  nitroApp",[268,447,448],{"class":278},".",[268,450,451],{"class":282},"hooks",[268,453,448],{"class":278},[268,455,456],{"class":420},"hook",[268,458,424],{"class":459},"swJcz",[268,461,462],{"class":278},"'",[268,464,465],{"class":295},"evlog:drain",[268,467,462],{"class":278},[268,469,470],{"class":278},",",[268,472,283],{"class":420},[268,474,475],{"class":459},"())\n",[268,477,479,482],{"class":270,"line":478},6,[268,480,481],{"class":278},"}",[268,483,484],{"class":282},")\n",[258,486,488],{"className":260,"code":487,"filename":76,"language":262,"meta":263,"style":263},"import { createPostHogDrain } from 'evlog\u002Fposthog'\n\napp.use(evlog({ drain: createPostHogDrain() }))\n",[265,489,490,508,512],{"__ignoreMap":263},[268,491,492,494,496,498,500,502,504,506],{"class":270,"line":271},[268,493,275],{"class":274},[268,495,279],{"class":278},[268,497,283],{"class":282},[268,499,286],{"class":278},[268,501,289],{"class":274},[268,503,292],{"class":278},[268,505,296],{"class":295},[268,507,299],{"class":278},[268,509,510],{"class":270,"line":385},[268,511,408],{"emptyLinePlaceholder":407},[268,513,514,517,519,522,524,527,529,532,535,538,540,543,545],{"class":270,"line":404},[268,515,516],{"class":282},"app",[268,518,448],{"class":278},[268,520,521],{"class":420},"use",[268,523,424],{"class":282},[268,525,526],{"class":420},"evlog",[268,528,424],{"class":282},[268,530,531],{"class":278},"{",[268,533,534],{"class":459}," drain",[268,536,537],{"class":278},":",[268,539,283],{"class":420},[268,541,542],{"class":282},"() ",[268,544,481],{"class":278},[268,546,547],{"class":282},"))\n",[258,549,550],{"className":260,"code":487,"filename":71,"language":262,"meta":263,"style":263},[265,551,552,570,574],{"__ignoreMap":263},[268,553,554,556,558,560,562,564,566,568],{"class":270,"line":271},[268,555,275],{"class":274},[268,557,279],{"class":278},[268,559,283],{"class":282},[268,561,286],{"class":278},[268,563,289],{"class":274},[268,565,292],{"class":278},[268,567,296],{"class":295},[268,569,299],{"class":278},[268,571,572],{"class":270,"line":385},[268,573,408],{"emptyLinePlaceholder":407},[268,575,576,578,580,582,584,586,588,590,592,594,596,598,600],{"class":270,"line":404},[268,577,516],{"class":282},[268,579,448],{"class":278},[268,581,521],{"class":420},[268,583,424],{"class":282},[268,585,526],{"class":420},[268,587,424],{"class":282},[268,589,531],{"class":278},[268,591,534],{"class":459},[268,593,537],{"class":278},[268,595,283],{"class":420},[268,597,542],{"class":282},[268,599,481],{"class":278},[268,601,547],{"class":282},[258,603,605],{"className":260,"code":604,"filename":81,"language":262,"meta":263,"style":263},"import { createPostHogDrain } from 'evlog\u002Fposthog'\n\nawait app.register(evlog, { drain: createPostHogDrain() })\n",[265,606,607,625,629],{"__ignoreMap":263},[268,608,609,611,613,615,617,619,621,623],{"class":270,"line":271},[268,610,275],{"class":274},[268,612,279],{"class":278},[268,614,283],{"class":282},[268,616,286],{"class":278},[268,618,289],{"class":274},[268,620,292],{"class":278},[268,622,296],{"class":295},[268,624,299],{"class":278},[268,626,627],{"class":270,"line":385},[268,628,408],{"emptyLinePlaceholder":407},[268,630,631,634,637,639,642,645,647,649,651,653,655,657,659],{"class":270,"line":404},[268,632,633],{"class":274},"await",[268,635,636],{"class":282}," app",[268,638,448],{"class":278},[268,640,641],{"class":420},"register",[268,643,644],{"class":282},"(evlog",[268,646,470],{"class":278},[268,648,279],{"class":278},[268,650,534],{"class":459},[268,652,537],{"class":278},[268,654,283],{"class":420},[268,656,542],{"class":282},[268,658,481],{"class":278},[268,660,484],{"class":282},[258,662,663],{"className":260,"code":487,"filename":86,"language":262,"meta":263,"style":263},[265,664,665,683,687],{"__ignoreMap":263},[268,666,667,669,671,673,675,677,679,681],{"class":270,"line":271},[268,668,275],{"class":274},[268,670,279],{"class":278},[268,672,283],{"class":282},[268,674,286],{"class":278},[268,676,289],{"class":274},[268,678,292],{"class":278},[268,680,296],{"class":295},[268,682,299],{"class":278},[268,684,685],{"class":270,"line":385},[268,686,408],{"emptyLinePlaceholder":407},[268,688,689,691,693,695,697,699,701,703,705,707,709,711,713],{"class":270,"line":404},[268,690,516],{"class":282},[268,692,448],{"class":278},[268,694,521],{"class":420},[268,696,424],{"class":282},[268,698,526],{"class":420},[268,700,424],{"class":282},[268,702,531],{"class":278},[268,704,534],{"class":459},[268,706,537],{"class":278},[268,708,283],{"class":420},[268,710,542],{"class":282},[268,712,481],{"class":278},[268,714,547],{"class":282},[258,716,718],{"className":260,"code":717,"filename":66,"language":262,"meta":263,"style":263},"import { createPostHogDrain } from 'evlog\u002Fposthog'\n\nEvlogModule.forRoot({ drain: createPostHogDrain() })\n",[265,719,720,738,742],{"__ignoreMap":263},[268,721,722,724,726,728,730,732,734,736],{"class":270,"line":271},[268,723,275],{"class":274},[268,725,279],{"class":278},[268,727,283],{"class":282},[268,729,286],{"class":278},[268,731,289],{"class":274},[268,733,292],{"class":278},[268,735,296],{"class":295},[268,737,299],{"class":278},[268,739,740],{"class":270,"line":385},[268,741,408],{"emptyLinePlaceholder":407},[268,743,744,747,749,752,754,756,758,760,762,764,766],{"class":270,"line":404},[268,745,746],{"class":282},"EvlogModule",[268,748,448],{"class":278},[268,750,751],{"class":420},"forRoot",[268,753,424],{"class":282},[268,755,531],{"class":278},[268,757,534],{"class":459},[268,759,537],{"class":278},[268,761,283],{"class":420},[268,763,542],{"class":282},[268,765,481],{"class":278},[268,767,484],{"class":282},[258,769,771],{"className":260,"code":770,"filename":96,"language":262,"meta":263,"style":263},"import { createPostHogDrain } from 'evlog\u002Fposthog'\n\ninitLogger({ drain: createPostHogDrain() })\n",[265,772,773,791,795],{"__ignoreMap":263},[268,774,775,777,779,781,783,785,787,789],{"class":270,"line":271},[268,776,275],{"class":274},[268,778,279],{"class":278},[268,780,283],{"class":282},[268,782,286],{"class":278},[268,784,289],{"class":274},[268,786,292],{"class":278},[268,788,296],{"class":295},[268,790,299],{"class":278},[268,792,793],{"class":270,"line":385},[268,794,408],{"emptyLinePlaceholder":407},[268,796,797,800,802,804,806,808,810,812,814],{"class":270,"line":404},[268,798,799],{"class":420},"initLogger",[268,801,424],{"class":282},[268,803,531],{"class":278},[268,805,534],{"class":459},[268,807,537],{"class":278},[268,809,283],{"class":420},[268,811,542],{"class":282},[268,813,481],{"class":278},[268,815,484],{"class":282},[235,817,818],{},"That's it! Your wide events will now appear in PostHog Logs with full OTLP structure including severity levels, trace context, and structured attributes.",[251,820,822],{"id":821},"configuration","Configuration",[235,824,825],{},"The adapter reads configuration from multiple sources (highest priority first):",[309,827,828,837,847],{},[312,829,830,833,834],{},[324,831,832],{},"Overrides"," passed to ",[265,835,836],{},"createPostHogDrain()",[312,838,839,842,843,846],{},[324,840,841],{},"Runtime config"," at ",[265,844,845],{},"runtimeConfig.posthog"," (Nuxt\u002FNitro only)",[312,848,849,852,853,856,857,340],{},[324,850,851],{},"Environment variables"," (",[265,854,855],{},"POSTHOG_*"," or ",[265,858,859],{},"NUXT_POSTHOG_*",[304,861,863],{"id":862},"environment-variables","Environment Variables",[865,866,867,883],"table",{},[868,869,870],"thead",{},[871,872,873,877,880],"tr",{},[874,875,876],"th",{},"Variable",[874,878,879],{},"Nuxt alias",[874,881,882],{},"Description",[884,885,886,903],"tbody",{},[871,887,888,893,898],{},[889,890,891],"td",{},[265,892,357],{},[889,894,895],{},[265,896,897],{},"NUXT_POSTHOG_API_KEY",[889,899,900,901,340],{},"Project API key (starts with ",[265,902,339],{},[871,904,905,910,915],{},[889,906,907],{},[265,908,909],{},"POSTHOG_HOST",[889,911,912],{},[265,913,914],{},"NUXT_POSTHOG_HOST",[889,916,917],{},"PostHog host URL (for EU or self-hosted)",[304,919,921],{"id":920},"runtime-config-nuxt-only","Runtime Config (Nuxt only)",[235,923,924,925,928],{},"Configure via ",[265,926,927],{},"nuxt.config.ts"," for type-safe configuration:",[258,930,932],{"className":260,"code":931,"filename":927,"language":262,"meta":263,"style":263},"export default defineNuxtConfig({\n  runtimeConfig: {\n    posthog: {\n      apiKey: '', \u002F\u002F Set via NUXT_POSTHOG_API_KEY\n      host: '', \u002F\u002F Set via NUXT_POSTHOG_HOST\n    },\n  },\n})\n",[265,933,934,948,957,966,981,995,1000,1006],{"__ignoreMap":263},[268,935,936,938,940,943,945],{"class":270,"line":271},[268,937,414],{"class":274},[268,939,417],{"class":274},[268,941,942],{"class":420}," defineNuxtConfig",[268,944,424],{"class":282},[268,946,947],{"class":278},"{\n",[268,949,950,953,955],{"class":270,"line":385},[268,951,952],{"class":459},"  runtimeConfig",[268,954,537],{"class":278},[268,956,439],{"class":278},[268,958,959,962,964],{"class":270,"line":404},[268,960,961],{"class":459},"    posthog",[268,963,537],{"class":278},[268,965,439],{"class":278},[268,967,968,971,973,976,978],{"class":270,"line":411},[268,969,970],{"class":459},"      apiKey",[268,972,537],{"class":278},[268,974,975],{"class":278}," ''",[268,977,470],{"class":278},[268,979,980],{"class":381}," \u002F\u002F Set via NUXT_POSTHOG_API_KEY\n",[268,982,983,986,988,990,992],{"class":270,"line":442},[268,984,985],{"class":459},"      host",[268,987,537],{"class":278},[268,989,975],{"class":278},[268,991,470],{"class":278},[268,993,994],{"class":381}," \u002F\u002F Set via NUXT_POSTHOG_HOST\n",[268,996,997],{"class":270,"line":478},[268,998,999],{"class":278},"    },\n",[268,1001,1003],{"class":270,"line":1002},7,[268,1004,1005],{"class":278},"  },\n",[268,1007,1009,1011],{"class":270,"line":1008},8,[268,1010,481],{"class":278},[268,1012,484],{"class":282},[304,1014,1016],{"id":1015},"override-options","Override Options",[235,1018,1019],{},"Pass options directly to override any configuration:",[258,1021,1023],{"className":260,"code":1022,"language":262,"meta":263,"style":263},"const drain = createPostHogDrain({\n  host: 'https:\u002F\u002Feu.i.posthog.com',\n  timeout: 10000,\n})\n",[265,1024,1025,1041,1058,1071],{"__ignoreMap":263},[268,1026,1027,1030,1033,1035,1037,1039],{"class":270,"line":271},[268,1028,1029],{"class":435},"const",[268,1031,1032],{"class":282}," drain ",[268,1034,360],{"class":278},[268,1036,283],{"class":420},[268,1038,424],{"class":282},[268,1040,947],{"class":278},[268,1042,1043,1046,1048,1050,1053,1055],{"class":270,"line":385},[268,1044,1045],{"class":459},"  host",[268,1047,537],{"class":278},[268,1049,292],{"class":278},[268,1051,1052],{"class":295},"https:\u002F\u002Feu.i.posthog.com",[268,1054,462],{"class":278},[268,1056,1057],{"class":278},",\n",[268,1059,1060,1063,1065,1069],{"class":270,"line":404},[268,1061,1062],{"class":459},"  timeout",[268,1064,537],{"class":278},[268,1066,1068],{"class":1067},"sbssI"," 10000",[268,1070,1057],{"class":278},[268,1072,1073,1075],{"class":270,"line":411},[268,1074,481],{"class":278},[268,1076,484],{"class":282},[304,1078,1080],{"id":1079},"full-configuration-reference","Full Configuration Reference",[865,1082,1083,1098],{},[868,1084,1085],{},[871,1086,1087,1090,1093,1096],{},[874,1088,1089],{},"Option",[874,1091,1092],{},"Type",[874,1094,1095],{},"Default",[874,1097,882],{},[884,1099,1100,1118,1137],{},[871,1101,1102,1107,1112,1115],{},[889,1103,1104],{},[265,1105,1106],{},"apiKey",[889,1108,1109],{},[265,1110,1111],{},"string",[889,1113,1114],{},"-",[889,1116,1117],{},"Project API key (required)",[871,1119,1120,1125,1129,1134],{},[889,1121,1122],{},[265,1123,1124],{},"host",[889,1126,1127],{},[265,1128,1111],{},[889,1130,1131],{},[265,1132,1133],{},"https:\u002F\u002Fus.i.posthog.com",[889,1135,1136],{},"PostHog host URL",[871,1138,1139,1144,1149,1154],{},[889,1140,1141],{},[265,1142,1143],{},"timeout",[889,1145,1146],{},[265,1147,1148],{},"number",[889,1150,1151],{},[265,1152,1153],{},"5000",[889,1155,1156],{},"Request timeout in milliseconds",[251,1158,1160],{"id":1159},"how-it-works","How It Works",[235,1162,1163,1164,1166,1167,1170],{},"Under the hood, ",[265,1165,836],{}," wraps the OTLP adapter's ",[265,1168,1169],{},"sendBatchToOTLP()"," with PostHog-specific defaults:",[1172,1173,1174,1184,1193],"ul",{},[312,1175,1176,1179,1180,1183],{},[324,1177,1178],{},"Endpoint",": ",[265,1181,1182],{},"{host}\u002Fi\u002Fv1\u002Flogs"," (PostHog's OTLP log ingest endpoint)",[312,1185,1186,1179,1189,1192],{},[324,1187,1188],{},"Auth",[265,1190,1191],{},"Authorization: Bearer {apiKey}"," header",[312,1194,1195,1198,1199,1202],{},[324,1196,1197],{},"Format",": Standard OTLP ",[265,1200,1201],{},"ExportLogsServiceRequest"," with severity levels, trace context, and structured attributes",[251,1204,1206],{"id":1205},"regions","Regions",[235,1208,1209,1210,1212],{},"PostHog offers US and EU cloud hosting. Set the ",[265,1211,1124],{}," to match your region:",[865,1214,1215,1225],{},[868,1216,1217],{},[871,1218,1219,1222],{},[874,1220,1221],{},"Region",[874,1223,1224],{},"Host",[884,1226,1227,1236,1245],{},[871,1228,1229,1232],{},[889,1230,1231],{},"US (default)",[889,1233,1234],{},[265,1235,1133],{},[871,1237,1238,1241],{},[889,1239,1240],{},"EU",[889,1242,1243],{},[265,1244,1052],{},[871,1246,1247,1250],{},[889,1248,1249],{},"Self-hosted",[889,1251,1252],{},"Your instance URL",[258,1254,1256],{"className":347,"code":1255,"filename":349,"language":350,"meta":263,"style":263},"# EU region\nPOSTHOG_API_KEY=phc_xxx\nPOSTHOG_HOST=https:\u002F\u002Feu.i.posthog.com\n",[265,1257,1258,1263,1272],{"__ignoreMap":263},[268,1259,1260],{"class":270,"line":271},[268,1261,1262],{"class":381},"# EU region\n",[268,1264,1265,1267,1269],{"class":270,"line":385},[268,1266,357],{"class":282},[268,1268,360],{"class":278},[268,1270,1271],{"class":295},"phc_xxx\n",[268,1273,1274,1276,1278],{"class":270,"line":404},[268,1275,909],{"class":282},[268,1277,360],{"class":278},[268,1279,1280],{"class":295},"https:\u002F\u002Feu.i.posthog.com\n",[251,1282,1284],{"id":1283},"querying-logs-in-posthog","Querying Logs in PostHog",[235,1286,1287,1288,1291],{},"Once your logs are flowing, use the ",[324,1289,1290],{},"Logs"," tab in PostHog to query them:",[309,1293,1294,1299,1302],{},[312,1295,322,1296,1298],{},[324,1297,1290],{}," and filter by service, severity, or any structured attribute",[312,1300,1301],{},"Use the search bar to find specific log entries",[312,1303,1304],{},"Click on a log entry to see all structured attributes",[251,1306,1308],{"id":1307},"posthog-events-custom-events","PostHog Events (Custom Events)",[235,1310,1311,1312,537],{},"If you prefer sending logs as PostHog custom events (e.g., for product analytics, cohorts, or funnels), use ",[265,1313,1314],{},"createPostHogEventsDrain()",[258,1316,1318],{"className":260,"code":1317,"language":262,"meta":263,"style":263},"import { createPostHogEventsDrain } from 'evlog\u002Fposthog'\n\nconst drain = createPostHogEventsDrain({\n  eventName: 'server_request',\n  distinctId: 'my-backend-service',\n})\n",[265,1319,1320,1339,1343,1357,1373,1389],{"__ignoreMap":263},[268,1321,1322,1324,1326,1329,1331,1333,1335,1337],{"class":270,"line":271},[268,1323,275],{"class":274},[268,1325,279],{"class":278},[268,1327,1328],{"class":282}," createPostHogEventsDrain",[268,1330,286],{"class":278},[268,1332,289],{"class":274},[268,1334,292],{"class":278},[268,1336,296],{"class":295},[268,1338,299],{"class":278},[268,1340,1341],{"class":270,"line":385},[268,1342,408],{"emptyLinePlaceholder":407},[268,1344,1345,1347,1349,1351,1353,1355],{"class":270,"line":404},[268,1346,1029],{"class":435},[268,1348,1032],{"class":282},[268,1350,360],{"class":278},[268,1352,1328],{"class":420},[268,1354,424],{"class":282},[268,1356,947],{"class":278},[268,1358,1359,1362,1364,1366,1369,1371],{"class":270,"line":411},[268,1360,1361],{"class":459},"  eventName",[268,1363,537],{"class":278},[268,1365,292],{"class":278},[268,1367,1368],{"class":295},"server_request",[268,1370,462],{"class":278},[268,1372,1057],{"class":278},[268,1374,1375,1378,1380,1382,1385,1387],{"class":270,"line":442},[268,1376,1377],{"class":459},"  distinctId",[268,1379,537],{"class":278},[268,1381,292],{"class":278},[268,1383,1384],{"class":295},"my-backend-service",[268,1386,462],{"class":278},[268,1388,1057],{"class":278},[268,1390,1391,1393],{"class":270,"line":478},[268,1392,481],{"class":278},[268,1394,484],{"class":282},[235,1396,1397,1398,1401,1402,1404,1405,1408],{},"Then pass ",[265,1399,1400],{},"drain"," to your framework the same way as ",[265,1403,836],{}," (see ",[238,1406,20],{"href":1407},"#quick-start"," above).",[1410,1411,1413,1414,1416],"callout",{"color":1412,"icon":13},"info","Custom events count towards your PostHog event quota. PostHog Logs (the default ",[265,1415,836],{},") is significantly cheaper.",[304,1418,1420],{"id":1419},"events-configuration","Events Configuration",[865,1422,1423,1435],{},[868,1424,1425],{},[871,1426,1427,1429,1431,1433],{},[874,1428,1089],{},[874,1430,1092],{},[874,1432,1095],{},[874,1434,882],{},[884,1436,1437,1451,1467,1486,1509],{},[871,1438,1439,1443,1447,1449],{},[889,1440,1441],{},[265,1442,1106],{},[889,1444,1445],{},[265,1446,1111],{},[889,1448,1114],{},[889,1450,1117],{},[871,1452,1453,1457,1461,1465],{},[889,1454,1455],{},[265,1456,1124],{},[889,1458,1459],{},[265,1460,1111],{},[889,1462,1463],{},[265,1464,1133],{},[889,1466,1136],{},[871,1468,1469,1474,1478,1483],{},[889,1470,1471],{},[265,1472,1473],{},"eventName",[889,1475,1476],{},[265,1477,1111],{},[889,1479,1480],{},[265,1481,1482],{},"evlog_wide_event",[889,1484,1485],{},"PostHog event name",[871,1487,1488,1493,1497,1502],{},[889,1489,1490],{},[265,1491,1492],{},"distinctId",[889,1494,1495],{},[265,1496,1111],{},[889,1498,1499],{},[265,1500,1501],{},"event.service",[889,1503,1504,1505,1508],{},"Override ",[265,1506,1507],{},"distinct_id"," for all events",[871,1510,1511,1515,1519,1523],{},[889,1512,1513],{},[265,1514,1143],{},[889,1516,1517],{},[265,1518,1148],{},[889,1520,1521],{},[265,1522,1153],{},[889,1524,1156],{},[304,1526,1528],{"id":1527},"event-format","Event Format",[235,1530,1531],{},"evlog maps wide events to PostHog events:",[865,1533,1534,1544],{},[868,1535,1536],{},[871,1537,1538,1541],{},[874,1539,1540],{},"evlog Field",[874,1542,1543],{},"PostHog Field",[884,1545,1546,1564,1575,1587,1598,1610],{},[871,1547,1548,1559],{},[889,1549,1550,856,1553,856,1556],{},[265,1551,1552],{},"config.distinctId",[265,1554,1555],{},"userId",[265,1557,1558],{},"service",[889,1560,1561,1563],{},[265,1562,1507],{}," (fallback chain)",[871,1565,1566,1571],{},[889,1567,1568],{},[265,1569,1570],{},"timestamp",[889,1572,1573],{},[265,1574,1570],{},[871,1576,1577,1582],{},[889,1578,1579],{},[265,1580,1581],{},"level",[889,1583,1584],{},[265,1585,1586],{},"properties.level",[871,1588,1589,1593],{},[889,1590,1591],{},[265,1592,1558],{},[889,1594,1595],{},[265,1596,1597],{},"properties.service",[871,1599,1600,1605],{},[889,1601,1602],{},[265,1603,1604],{},"environment",[889,1606,1607],{},[265,1608,1609],{},"properties.environment",[871,1611,1612,1615],{},[889,1613,1614],{},"All other fields",[889,1616,1617],{},[265,1618,1619],{},"properties.*",[304,1621,1623],{"id":1622},"distinct-id-resolution","Distinct ID Resolution",[235,1625,1626,1627,1629],{},"The ",[265,1628,1507],{}," follows a fallback chain:",[309,1631,1632,1641,1649],{},[312,1633,1634,1638,1639],{},[324,1635,1636],{},[265,1637,1552],{}," — explicit override in ",[265,1640,1314],{},[312,1642,1643,1648],{},[324,1644,1645],{},[265,1646,1647],{},"event.userId"," — automatically picked up if present as a string",[312,1650,1651,1655],{},[324,1652,1653],{},[265,1654,1501],{}," — final fallback",[304,1657,1659],{"id":1658},"logs-vs-events","Logs vs Events",[865,1661,1662,1676],{},[868,1663,1664],{},[871,1665,1666,1668,1672],{},[874,1667],{},[874,1669,1670],{},[265,1671,836],{},[874,1673,1674],{},[265,1675,1314],{},[884,1677,1678,1696,1709,1722],{},[871,1679,1680,1684,1690],{},[889,1681,1682],{},[324,1683,1197],{},[889,1685,1686,1687,340],{},"OTLP Logs (",[265,1688,1689],{},"\u002Fi\u002Fv1\u002Flogs",[889,1691,1692,1693,340],{},"PostHog Events (",[265,1694,1695],{},"\u002Fbatch\u002F",[871,1697,1698,1703,1706],{},[889,1699,1700],{},[324,1701,1702],{},"PostHog UI",[889,1704,1705],{},"Logs viewer",[889,1707,1708],{},"Events explorer",[871,1710,1711,1716,1719],{},[889,1712,1713],{},[324,1714,1715],{},"Cost",[889,1717,1718],{},"Lower (dedicated logs pipeline)",[889,1720,1721],{},"Higher (counts as events)",[871,1723,1724,1729,1732],{},[889,1725,1726],{},[324,1727,1728],{},"Best for",[889,1730,1731],{},"Debugging, log search, observability",[889,1733,1734],{},"Product analytics, cohorts, funnels",[235,1736,1737],{},"You can use both drains simultaneously to get the best of both worlds:",[258,1739,1741],{"className":260,"code":1740,"language":262,"meta":263,"style":263},"import { createPostHogDrain, createPostHogEventsDrain } from 'evlog\u002Fposthog'\n\nconst logs = createPostHogDrain()\nconst events = createPostHogEventsDrain()\n\nconst drain = async (ctx) => {\n  await Promise.allSettled([logs(ctx), events(ctx)])\n}\n",[265,1742,1743,1765,1769,1783,1796,1800,1822,1860],{"__ignoreMap":263},[268,1744,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763],{"class":270,"line":271},[268,1746,275],{"class":274},[268,1748,279],{"class":278},[268,1750,283],{"class":282},[268,1752,470],{"class":278},[268,1754,1328],{"class":282},[268,1756,286],{"class":278},[268,1758,289],{"class":274},[268,1760,292],{"class":278},[268,1762,296],{"class":295},[268,1764,299],{"class":278},[268,1766,1767],{"class":270,"line":385},[268,1768,408],{"emptyLinePlaceholder":407},[268,1770,1771,1773,1776,1778,1780],{"class":270,"line":404},[268,1772,1029],{"class":435},[268,1774,1775],{"class":282}," logs ",[268,1777,360],{"class":278},[268,1779,283],{"class":420},[268,1781,1782],{"class":282},"()\n",[268,1784,1785,1787,1790,1792,1794],{"class":270,"line":411},[268,1786,1029],{"class":435},[268,1788,1789],{"class":282}," events ",[268,1791,360],{"class":278},[268,1793,1328],{"class":420},[268,1795,1782],{"class":282},[268,1797,1798],{"class":270,"line":442},[268,1799,408],{"emptyLinePlaceholder":407},[268,1801,1802,1804,1806,1808,1811,1813,1816,1818,1820],{"class":270,"line":478},[268,1803,1029],{"class":435},[268,1805,1032],{"class":282},[268,1807,360],{"class":278},[268,1809,1810],{"class":435}," async",[268,1812,852],{"class":278},[268,1814,1815],{"class":429},"ctx",[268,1817,340],{"class":278},[268,1819,436],{"class":435},[268,1821,439],{"class":278},[268,1823,1824,1827,1831,1833,1836,1839,1842,1844,1846,1848,1850,1853,1855,1857],{"class":270,"line":1002},[268,1825,1826],{"class":274},"  await",[268,1828,1830],{"class":1829},"sBMFI"," Promise",[268,1832,448],{"class":278},[268,1834,1835],{"class":420},"allSettled",[268,1837,1838],{"class":459},"([",[268,1840,1841],{"class":420},"logs",[268,1843,424],{"class":459},[268,1845,1815],{"class":282},[268,1847,340],{"class":459},[268,1849,470],{"class":278},[268,1851,1852],{"class":420}," events",[268,1854,424],{"class":459},[268,1856,1815],{"class":282},[268,1858,1859],{"class":459},")])\n",[268,1861,1862],{"class":270,"line":1008},[268,1863,1864],{"class":278},"}\n",[251,1866,1868],{"id":1867},"troubleshooting","Troubleshooting",[304,1870,1872],{"id":1871},"missing-apikey-error","Missing apiKey error",[258,1874,1879],{"className":1875,"code":1877,"language":1878},[1876],"language-text","[evlog\u002Fposthog] Missing apiKey. Set POSTHOG_API_KEY env var or pass to createPostHogDrain()\n","text",[265,1880,1877],{"__ignoreMap":263},[235,1882,1883],{},"Make sure your environment variable is set and the server was restarted after adding it.",[304,1885,1887],{"id":1886},"events-not-appearing","Events not appearing",[235,1889,1890],{},"PostHog processes events asynchronously. There may be a short delay (typically under 1 minute) before events appear in the dashboard.",[309,1892,1893,1900,1905],{},[312,1894,1895,1896,1899],{},"Check the server console for ",[265,1897,1898],{},"[evlog\u002Fposthog]"," error messages",[312,1901,1902,1903],{},"Verify your API key is correct and starts with ",[265,1904,339],{},[312,1906,1907,1908,1910],{},"Confirm your ",[265,1909,1124],{}," matches your PostHog region (US vs EU)",[304,1912,1914],{"id":1913},"wrong-region","Wrong region",[235,1916,1917,1918,1920],{},"If you're on PostHog EU but using the default US host, event delivery will fail and the adapter will log errors (for example under ",[265,1919,1898],{},") to your server console. Set the correct host:",[258,1922,1924],{"className":347,"code":1923,"filename":349,"language":350,"meta":263,"style":263},"POSTHOG_HOST=https:\u002F\u002Feu.i.posthog.com\n",[265,1925,1926],{"__ignoreMap":263},[268,1927,1928,1930,1932],{"class":270,"line":271},[268,1929,909],{"class":282},[268,1931,360],{"class":278},[268,1933,1280],{"class":295},[251,1935,1937],{"id":1936},"direct-api-usage","Direct API Usage",[235,1939,1940],{},"For advanced use cases, you can use the lower-level functions:",[258,1942,1945],{"className":260,"code":1943,"filename":1944,"language":262,"meta":263,"style":263},"import { sendToPostHog, sendBatchToPostHog } from 'evlog\u002Fposthog'\n\n\u002F\u002F Send a single event to PostHog Logs (OTLP)\nawait sendToPostHog(event, {\n  apiKey: 'phc_xxx',\n})\n\n\u002F\u002F Send multiple events in one request\nawait sendBatchToPostHog(events, {\n  apiKey: 'phc_xxx',\n})\n","server\u002Futils\u002Fposthog.ts",[265,1946,1947,1971,1975,1980,1993,2009,2015,2019,2024,2038,2053],{"__ignoreMap":263},[268,1948,1949,1951,1953,1956,1958,1961,1963,1965,1967,1969],{"class":270,"line":271},[268,1950,275],{"class":274},[268,1952,279],{"class":278},[268,1954,1955],{"class":282}," sendToPostHog",[268,1957,470],{"class":278},[268,1959,1960],{"class":282}," sendBatchToPostHog",[268,1962,286],{"class":278},[268,1964,289],{"class":274},[268,1966,292],{"class":278},[268,1968,296],{"class":295},[268,1970,299],{"class":278},[268,1972,1973],{"class":270,"line":385},[268,1974,408],{"emptyLinePlaceholder":407},[268,1976,1977],{"class":270,"line":404},[268,1978,1979],{"class":381},"\u002F\u002F Send a single event to PostHog Logs (OTLP)\n",[268,1981,1982,1984,1986,1989,1991],{"class":270,"line":411},[268,1983,633],{"class":274},[268,1985,1955],{"class":420},[268,1987,1988],{"class":282},"(event",[268,1990,470],{"class":278},[268,1992,439],{"class":278},[268,1994,1995,1998,2000,2002,2005,2007],{"class":270,"line":442},[268,1996,1997],{"class":459},"  apiKey",[268,1999,537],{"class":278},[268,2001,292],{"class":278},[268,2003,2004],{"class":295},"phc_xxx",[268,2006,462],{"class":278},[268,2008,1057],{"class":278},[268,2010,2011,2013],{"class":270,"line":478},[268,2012,481],{"class":278},[268,2014,484],{"class":282},[268,2016,2017],{"class":270,"line":1002},[268,2018,408],{"emptyLinePlaceholder":407},[268,2020,2021],{"class":270,"line":1008},[268,2022,2023],{"class":381},"\u002F\u002F Send multiple events in one request\n",[268,2025,2027,2029,2031,2034,2036],{"class":270,"line":2026},9,[268,2028,633],{"class":274},[268,2030,1960],{"class":420},[268,2032,2033],{"class":282},"(events",[268,2035,470],{"class":278},[268,2037,439],{"class":278},[268,2039,2041,2043,2045,2047,2049,2051],{"class":270,"line":2040},10,[268,2042,1997],{"class":459},[268,2044,537],{"class":278},[268,2046,292],{"class":278},[268,2048,2004],{"class":295},[268,2050,462],{"class":278},[268,2052,1057],{"class":278},[268,2054,2056,2058],{"class":270,"line":2055},11,[268,2057,481],{"class":278},[268,2059,484],{"class":282},[235,2061,2062],{},"For custom events, use the events-specific functions:",[258,2064,2066],{"className":260,"code":2065,"filename":1944,"language":262,"meta":263,"style":263},"import { sendToPostHogEvents, sendBatchToPostHogEvents, toPostHogEvent } from 'evlog\u002Fposthog'\n\n\u002F\u002F Send a single custom event\nawait sendToPostHogEvents(event, {\n  apiKey: 'phc_xxx',\n})\n\n\u002F\u002F Send multiple custom events in one request\nawait sendBatchToPostHogEvents(events, {\n  apiKey: 'phc_xxx',\n})\n\n\u002F\u002F Convert event to PostHog format (for inspection)\nconst posthogEvent = toPostHogEvent(event, { apiKey: 'phc_xxx' })\n",[265,2067,2068,2097,2101,2106,2118,2132,2138,2142,2147,2159,2173,2179,2184,2190],{"__ignoreMap":263},[268,2069,2070,2072,2074,2077,2079,2082,2084,2087,2089,2091,2093,2095],{"class":270,"line":271},[268,2071,275],{"class":274},[268,2073,279],{"class":278},[268,2075,2076],{"class":282}," sendToPostHogEvents",[268,2078,470],{"class":278},[268,2080,2081],{"class":282}," sendBatchToPostHogEvents",[268,2083,470],{"class":278},[268,2085,2086],{"class":282}," toPostHogEvent",[268,2088,286],{"class":278},[268,2090,289],{"class":274},[268,2092,292],{"class":278},[268,2094,296],{"class":295},[268,2096,299],{"class":278},[268,2098,2099],{"class":270,"line":385},[268,2100,408],{"emptyLinePlaceholder":407},[268,2102,2103],{"class":270,"line":404},[268,2104,2105],{"class":381},"\u002F\u002F Send a single custom event\n",[268,2107,2108,2110,2112,2114,2116],{"class":270,"line":411},[268,2109,633],{"class":274},[268,2111,2076],{"class":420},[268,2113,1988],{"class":282},[268,2115,470],{"class":278},[268,2117,439],{"class":278},[268,2119,2120,2122,2124,2126,2128,2130],{"class":270,"line":442},[268,2121,1997],{"class":459},[268,2123,537],{"class":278},[268,2125,292],{"class":278},[268,2127,2004],{"class":295},[268,2129,462],{"class":278},[268,2131,1057],{"class":278},[268,2133,2134,2136],{"class":270,"line":478},[268,2135,481],{"class":278},[268,2137,484],{"class":282},[268,2139,2140],{"class":270,"line":1002},[268,2141,408],{"emptyLinePlaceholder":407},[268,2143,2144],{"class":270,"line":1008},[268,2145,2146],{"class":381},"\u002F\u002F Send multiple custom events in one request\n",[268,2148,2149,2151,2153,2155,2157],{"class":270,"line":2026},[268,2150,633],{"class":274},[268,2152,2081],{"class":420},[268,2154,2033],{"class":282},[268,2156,470],{"class":278},[268,2158,439],{"class":278},[268,2160,2161,2163,2165,2167,2169,2171],{"class":270,"line":2040},[268,2162,1997],{"class":459},[268,2164,537],{"class":278},[268,2166,292],{"class":278},[268,2168,2004],{"class":295},[268,2170,462],{"class":278},[268,2172,1057],{"class":278},[268,2174,2175,2177],{"class":270,"line":2055},[268,2176,481],{"class":278},[268,2178,484],{"class":282},[268,2180,2182],{"class":270,"line":2181},12,[268,2183,408],{"emptyLinePlaceholder":407},[268,2185,2187],{"class":270,"line":2186},13,[268,2188,2189],{"class":381},"\u002F\u002F Convert event to PostHog format (for inspection)\n",[268,2191,2193,2195,2198,2200,2202,2204,2206,2208,2211,2213,2215,2217,2219,2221],{"class":270,"line":2192},14,[268,2194,1029],{"class":435},[268,2196,2197],{"class":282}," posthogEvent ",[268,2199,360],{"class":278},[268,2201,2086],{"class":420},[268,2203,1988],{"class":282},[268,2205,470],{"class":278},[268,2207,279],{"class":278},[268,2209,2210],{"class":459}," apiKey",[268,2212,537],{"class":278},[268,2214,292],{"class":278},[268,2216,2004],{"class":295},[268,2218,462],{"class":278},[268,2220,286],{"class":278},[268,2222,484],{"class":282},[251,2224,2226],{"id":2225},"next-steps","Next Steps",[1172,2228,2229,2235,2241,2246],{},[312,2230,2231,2234],{},[238,2232,2233],{"href":160},"Axiom Adapter"," - Send logs to Axiom",[312,2236,2237,2240],{},[238,2238,2239],{"href":165},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[312,2242,2243,2245],{},[238,2244,184],{"href":185}," - Build your own adapter",[312,2247,2248,2250],{},[238,2249,131],{"href":132}," - Security and production tips",[2252,2253,2254],"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 .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 .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 .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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":263,"searchDepth":385,"depth":385,"links":2256},[2257,2258,2263,2269,2270,2271,2272,2278,2283,2284],{"id":253,"depth":385,"text":15},{"id":302,"depth":385,"text":20,"children":2259},[2260,2261,2262],{"id":306,"depth":404,"text":307},{"id":343,"depth":404,"text":344},{"id":366,"depth":404,"text":367},{"id":821,"depth":385,"text":822,"children":2264},[2265,2266,2267,2268],{"id":862,"depth":404,"text":863},{"id":920,"depth":404,"text":921},{"id":1015,"depth":404,"text":1016},{"id":1079,"depth":404,"text":1080},{"id":1159,"depth":385,"text":1160},{"id":1205,"depth":385,"text":1206},{"id":1283,"depth":385,"text":1284},{"id":1307,"depth":385,"text":1308,"children":2273},[2274,2275,2276,2277],{"id":1419,"depth":404,"text":1420},{"id":1527,"depth":404,"text":1528},{"id":1622,"depth":404,"text":1623},{"id":1658,"depth":404,"text":1659},{"id":1867,"depth":385,"text":1868,"children":2279},[2280,2281,2282],{"id":1871,"depth":404,"text":1872},{"id":1886,"depth":404,"text":1887},{"id":1913,"depth":404,"text":1914},{"id":1936,"depth":385,"text":1937},{"id":2225,"depth":385,"text":2226},"Send wide events to PostHog Logs via OTLP for structured log querying, debugging, and observability in your PostHog dashboard.","md",[2288,2294],{"label":2289,"icon":2290,"to":317,"target":2291,"color":2292,"variant":2293},"PostHog Dashboard","i-lucide-external-link","_blank","neutral","subtle",{"label":2233,"icon":162,"to":160,"color":2292,"variant":2293},{},{"title":169,"icon":172},{"title":230,"description":2285},"RRMqt4fPkMQfGLB6zytqup41AeItTD1AsdVc597YHs8",[2300,2302],{"title":164,"path":165,"stem":166,"description":2301,"icon":167,"children":-1},"Send logs via OpenTelemetry Protocol (OTLP) to Grafana, Datadog, Honeycomb, and any compatible backend. Supports gRPC and HTTP transports.",{"title":174,"path":175,"stem":176,"description":2303,"icon":177,"children":-1},"Send structured logs to Sentry Logs for high-cardinality querying and debugging. Zero-config setup with environment variables.",1773428030401]