[{"data":1,"prerenderedAt":2793},["ShallowReactive",2],{"navigation_docs":3,"-adapters-cloud-posthog":547,"-adapters-cloud-posthog-surround":2788},[4,35,159,201,289,446,531],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24,29],{"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",{"title":30,"path":31,"stem":32,"icon":33},"vs Other Loggers","\u002Fgetting-started\u002Fvs-other-loggers","1.getting-started\u002F5.vs-other-loggers","i-lucide-scale",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Logging","\u002Flogging","2.logging",[40,45,50,55,60,65,70,99,127],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Flogging\u002Foverview","2.logging\u002F0.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Simple Logging","\u002Flogging\u002Fsimple-logging","2.logging\u002F1.simple-logging","i-lucide-terminal",{"title":51,"path":52,"stem":53,"icon":54},"Wide Events","\u002Flogging\u002Fwide-events","2.logging\u002F2.wide-events","i-lucide-layers",{"title":56,"path":57,"stem":58,"icon":59},"Structured Errors","\u002Flogging\u002Fstructured-errors","2.logging\u002F3.structured-errors","i-lucide-shield-alert",{"title":61,"path":62,"stem":63,"icon":64},"Catalogs","\u002Flogging\u002Fcatalogs","2.logging\u002F4.catalogs","i-lucide-book-open",{"title":66,"path":67,"stem":68,"icon":69},"Client Logging","\u002Flogging\u002Fclient-logging","2.logging\u002F5.client-logging","i-lucide-monitor",{"title":71,"icon":72,"path":73,"stem":74,"children":75,"page":34},"AI SDK","i-simple-icons-vercel","\u002Flogging\u002Fai-sdk","2.logging\u002F6.ai-sdk",[76,79,84,89,94],{"title":41,"path":77,"stem":78,"icon":44},"\u002Flogging\u002Fai-sdk\u002Foverview","2.logging\u002F6.ai-sdk\u002F01.overview",{"title":80,"path":81,"stem":82,"icon":83},"Usage","\u002Flogging\u002Fai-sdk\u002Fusage","2.logging\u002F6.ai-sdk\u002F02.usage","i-lucide-code",{"title":85,"path":86,"stem":87,"icon":88},"Options","\u002Flogging\u002Fai-sdk\u002Foptions","2.logging\u002F6.ai-sdk\u002F03.options","i-lucide-sliders",{"title":90,"path":91,"stem":92,"icon":93},"Metadata","\u002Flogging\u002Fai-sdk\u002Fmetadata","2.logging\u002F6.ai-sdk\u002F04.metadata","i-lucide-database",{"title":95,"path":96,"stem":97,"icon":98},"Telemetry","\u002Flogging\u002Fai-sdk\u002Ftelemetry","2.logging\u002F6.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":100,"icon":101,"path":102,"stem":103,"children":104,"page":34},"Better Auth","i-simple-icons-betterauth","\u002Flogging\u002Fbetter-auth","2.logging\u002F7.better-auth",[105,108,113,118,122],{"title":41,"path":106,"stem":107,"icon":44},"\u002Flogging\u002Fbetter-auth\u002Foverview","2.logging\u002F7.better-auth\u002F01.overview",{"title":109,"path":110,"stem":111,"icon":112},"Identify User","\u002Flogging\u002Fbetter-auth\u002Fidentify-user","2.logging\u002F7.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":114,"path":115,"stem":116,"icon":117},"Middleware","\u002Flogging\u002Fbetter-auth\u002Fmiddleware","2.logging\u002F7.better-auth\u002F03.middleware","i-lucide-shield",{"title":119,"path":120,"stem":121,"icon":69},"Client Sync","\u002Flogging\u002Fbetter-auth\u002Fclient-sync","2.logging\u002F7.better-auth\u002F04.client-sync",{"title":123,"path":124,"stem":125,"icon":126},"Performance","\u002Flogging\u002Fbetter-auth\u002Fperformance","2.logging\u002F7.better-auth\u002F05.performance","i-lucide-gauge",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":34},"Audit Logs","i-lucide-shield-check","\u002Flogging\u002Faudit","2.logging\u002F8.audit",[133,136,141,146,151,155],{"title":41,"path":134,"stem":135,"icon":44},"\u002Flogging\u002Faudit\u002Foverview","2.logging\u002F8.audit\u002F01.overview",{"title":137,"path":138,"stem":139,"icon":140},"Schema","\u002Flogging\u002Faudit\u002Fschema","2.logging\u002F8.audit\u002F02.schema","i-lucide-file-text",{"title":142,"path":143,"stem":144,"icon":145},"Recording","\u002Flogging\u002Faudit\u002Frecording","2.logging\u002F8.audit\u002F03.recording","i-lucide-pen-line",{"title":147,"path":148,"stem":149,"icon":150},"Drains","\u002Flogging\u002Faudit\u002Fpipeline","2.logging\u002F8.audit\u002F04.pipeline","i-lucide-link",{"title":152,"path":153,"stem":154,"icon":129},"Compliance","\u002Flogging\u002Faudit\u002Fcompliance","2.logging\u002F8.audit\u002F05.compliance",{"title":156,"path":157,"stem":158,"icon":64},"Recipes","\u002Flogging\u002Faudit\u002Frecipes","2.logging\u002F8.audit\u002F06.recipes",{"title":160,"path":161,"stem":162,"children":163,"page":34},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[164,169,174,179,184,188,191,196],{"title":165,"path":166,"stem":167,"icon":168},"Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":170,"path":171,"stem":172,"icon":173},"Configuration","\u002Fcore-concepts\u002Fconfiguration","3.core-concepts\u002F1.configuration","i-lucide-settings",{"title":175,"path":176,"stem":177,"icon":178},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F2.sampling","i-lucide-filter",{"title":180,"path":181,"stem":182,"icon":183},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F3.typed-fields","i-simple-icons-typescript",{"title":185,"path":186,"stem":187,"icon":129},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F4.best-practices",{"title":123,"path":189,"stem":190,"icon":126},"\u002Fcore-concepts\u002Fperformance","3.core-concepts\u002F5.performance",{"title":192,"path":193,"stem":194,"icon":195},"Vite Plugin","\u002Fcore-concepts\u002Fvite-plugin","3.core-concepts\u002F6.vite-plugin","i-custom-vite",{"title":197,"path":198,"stem":199,"icon":200},"Auto-Redaction","\u002Fcore-concepts\u002Fredaction","3.core-concepts\u002F7.redaction","i-lucide-eye-off",{"title":202,"path":203,"stem":204,"children":205,"page":34},"Frameworks","\u002Fframeworks","4.frameworks",[206,210,215,220,225,230,235,240,245,250,255,260,265,270,274,279,284],{"title":41,"path":207,"stem":208,"icon":209},"\u002Fframeworks\u002Foverview","4.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":211,"path":212,"stem":213,"icon":214},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":216,"path":217,"stem":218,"icon":219},"Next.js","\u002Fframeworks\u002Fnextjs","4.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":221,"path":222,"stem":223,"icon":224},"SvelteKit","\u002Fframeworks\u002Fsveltekit","4.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":226,"path":227,"stem":228,"icon":229},"Nitro","\u002Fframeworks\u002Fnitro","4.frameworks\u002F04.nitro","i-custom-nitro",{"title":231,"path":232,"stem":233,"icon":234},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","4.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":236,"path":237,"stem":238,"icon":239},"NestJS","\u002Fframeworks\u002Fnestjs","4.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":241,"path":242,"stem":243,"icon":244},"Express","\u002Fframeworks\u002Fexpress","4.frameworks\u002F07.express","i-simple-icons-express",{"title":246,"path":247,"stem":248,"icon":249},"Hono","\u002Fframeworks\u002Fhono","4.frameworks\u002F08.hono","i-simple-icons-hono",{"title":251,"path":252,"stem":253,"icon":254},"Fastify","\u002Fframeworks\u002Ffastify","4.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":256,"path":257,"stem":258,"icon":259},"Elysia","\u002Fframeworks\u002Felysia","4.frameworks\u002F10.elysia","i-custom-elysia",{"title":261,"path":262,"stem":263,"icon":264},"React Router","\u002Fframeworks\u002Freact-router","4.frameworks\u002F11.react-router","i-custom-reactrouter",{"title":266,"path":267,"stem":268,"icon":269},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","4.frameworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":271,"path":272,"stem":273,"icon":183},"Standalone","\u002Fframeworks\u002Fstandalone","4.frameworks\u002F13.standalone",{"title":275,"path":276,"stem":277,"icon":278},"Astro","\u002Fframeworks\u002Fastro","4.frameworks\u002F14.astro","i-simple-icons-astro",{"title":280,"path":281,"stem":282,"icon":283},"AWS Lambda","\u002Fframeworks\u002Faws-lambda","4.frameworks\u002F16.aws-lambda","i-custom-lambda",{"title":285,"path":286,"stem":287,"icon":288},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","4.frameworks\u002F17.custom-integration","i-lucide-puzzle",{"title":290,"path":291,"stem":292,"children":293,"page":34},"Build on top","\u002Fbuild-on-top","5.build-on-top",[294,297,325,346,373,400,428],{"title":41,"path":295,"stem":296,"icon":54},"\u002Fbuild-on-top\u002Foverview","5.build-on-top\u002F0.overview",{"title":298,"path":299,"stem":300,"children":301,"page":34},"Observers","\u002Fbuild-on-top\u002Fobservers","5.build-on-top\u002Fobservers",[302,306,311,316,321],{"title":41,"path":303,"stem":304,"icon":305},"\u002Fbuild-on-top\u002Fobservers\u002Foverview","5.build-on-top\u002Fobservers\u002F1.overview","i-lucide-eye",{"title":307,"path":308,"stem":309,"icon":310},"Stream API","\u002Fbuild-on-top\u002Fobservers\u002Fin-process-stream","5.build-on-top\u002Fobservers\u002F2.in-process-stream","i-lucide-radio-tower",{"title":312,"path":313,"stem":314,"icon":315},"Stream server","\u002Fbuild-on-top\u002Fobservers\u002Fstream-server","5.build-on-top\u002Fobservers\u002F3.stream-server","i-lucide-radio",{"title":317,"path":318,"stem":319,"icon":320},"FS reader","\u002Fbuild-on-top\u002Fobservers\u002Ffs-reader","5.build-on-top\u002Fobservers\u002F4.fs-reader","i-lucide-folder-search",{"title":156,"path":322,"stem":323,"icon":324},"\u002Fbuild-on-top\u002Fobservers\u002Fconsumer-recipes","5.build-on-top\u002Fobservers\u002F5.consumer-recipes","i-lucide-chef-hat",{"title":326,"path":327,"stem":328,"children":329,"page":34},"Pipeline","\u002Fbuild-on-top\u002Fpipeline","5.build-on-top\u002Fpipeline",[330,334,338,342],{"title":41,"path":331,"stem":332,"icon":333},"\u002Fbuild-on-top\u002Fpipeline\u002Foverview","5.build-on-top\u002Fpipeline\u002F1.overview","i-lucide-workflow",{"title":335,"path":336,"stem":337,"icon":288},"Plugins","\u002Fbuild-on-top\u002Fpipeline\u002Fplugins","5.build-on-top\u002Fpipeline\u002F2.plugins",{"title":339,"path":340,"stem":341,"icon":28},"Custom enrichers","\u002Fbuild-on-top\u002Fpipeline\u002Fcustom-enrichers","5.build-on-top\u002Fpipeline\u002F3.custom-enrichers",{"title":343,"path":344,"stem":345,"icon":178},"Tail sampling","\u002Fbuild-on-top\u002Fpipeline\u002Ftail-sampling","5.build-on-top\u002Fpipeline\u002F4.tail-sampling",{"title":347,"path":348,"stem":349,"children":350,"page":34},"Scenarios","\u002Fbuild-on-top\u002Fscenarios","5.build-on-top\u002Fscenarios",[351,355,359,364,368],{"title":41,"path":352,"stem":353,"icon":354},"\u002Fbuild-on-top\u002Fscenarios\u002Foverview","5.build-on-top\u002Fscenarios\u002F0.overview","i-lucide-clipboard-list",{"title":356,"path":357,"stem":358,"icon":49},"Local debugging toolkit","\u002Fbuild-on-top\u002Fscenarios\u002Flocal-debugging-toolkit","5.build-on-top\u002Fscenarios\u002F1.local-debugging-toolkit",{"title":360,"path":361,"stem":362,"icon":363},"Tenant-aware logging","\u002Fbuild-on-top\u002Fscenarios\u002Ftenant-aware-logging","5.build-on-top\u002Fscenarios\u002F2.tenant-aware-logging","i-lucide-users",{"title":365,"path":366,"stem":367,"icon":129},"Compliance audit","\u002Fbuild-on-top\u002Fscenarios\u002Fcompliance-audit","5.build-on-top\u002Fscenarios\u002F3.compliance-audit",{"title":369,"path":370,"stem":371,"icon":372},"Cross-app error vocab","\u002Fbuild-on-top\u002Fscenarios\u002Fcross-app-error-vocab","5.build-on-top\u002Fscenarios\u002F4.cross-app-error-vocab","i-lucide-book",{"title":374,"path":375,"stem":376,"children":377,"page":34},"Shared packages","\u002Fbuild-on-top\u002Fshared","5.build-on-top\u002Fshared",[378,382,386,391,395],{"title":41,"path":379,"stem":380,"icon":381},"\u002Fbuild-on-top\u002Fshared\u002Foverview","5.build-on-top\u002Fshared\u002F1.overview","i-lucide-package",{"title":383,"path":384,"stem":385,"icon":381},"Catalogs as packages","\u002Fbuild-on-top\u002Fshared\u002Fcatalogs-as-packages","5.build-on-top\u002Fshared\u002F2.catalogs-as-packages",{"title":387,"path":388,"stem":389,"icon":390},"Drains as packages","\u002Fbuild-on-top\u002Fshared\u002Fdrains-as-packages","5.build-on-top\u002Fshared\u002F3.drains-as-packages","i-lucide-package-2",{"title":392,"path":393,"stem":394,"icon":28},"Enrichers as packages","\u002Fbuild-on-top\u002Fshared\u002Fenrichers-as-packages","5.build-on-top\u002Fshared\u002F4.enrichers-as-packages",{"title":396,"path":397,"stem":398,"icon":399},"Integration as package","\u002Fbuild-on-top\u002Fshared\u002Fintegration-as-package","5.build-on-top\u002Fshared\u002F5.integration-as-package","i-lucide-package-check",{"title":401,"path":402,"stem":403,"children":404,"page":34},"Sinks","\u002Fbuild-on-top\u002Fsinks","5.build-on-top\u002Fsinks",[405,409,414,418,423],{"title":41,"path":406,"stem":407,"icon":408},"\u002Fbuild-on-top\u002Fsinks\u002Foverview","5.build-on-top\u002Fsinks\u002F1.overview","i-lucide-arrow-up-from-line",{"title":410,"path":411,"stem":412,"icon":413},"Custom drains","\u002Fbuild-on-top\u002Fsinks\u002Fcustom-drains","5.build-on-top\u002Fsinks\u002F2.custom-drains","i-lucide-code-2",{"title":415,"path":416,"stem":417,"icon":333},"Drain pipeline","\u002Fbuild-on-top\u002Fsinks\u002Fdrain-pipeline","5.build-on-top\u002Fsinks\u002F3.drain-pipeline",{"title":419,"path":420,"stem":421,"icon":422},"Identity headers","\u002Fbuild-on-top\u002Fsinks\u002Fidentity-headers","5.build-on-top\u002Fsinks\u002F4.identity-headers","i-lucide-fingerprint",{"title":424,"path":425,"stem":426,"icon":427},"Fanout","\u002Fbuild-on-top\u002Fsinks\u002Ffanout-and-multi-drain","5.build-on-top\u002Fsinks\u002F5.fanout-and-multi-drain","i-lucide-share-2",{"title":429,"path":430,"stem":431,"children":432,"page":34},"Sources","\u002Fbuild-on-top\u002Fsources","5.build-on-top\u002Fsources",[433,437,441],{"title":41,"path":434,"stem":435,"icon":436},"\u002Fbuild-on-top\u002Fsources\u002Foverview","5.build-on-top\u002Fsources\u002F1.overview","i-lucide-arrow-down-to-line",{"title":438,"path":439,"stem":440,"icon":288},"Custom framework","\u002Fbuild-on-top\u002Fsources\u002Fcustom-framework","5.build-on-top\u002Fsources\u002F2.custom-framework",{"title":442,"path":443,"stem":444,"icon":445},"Middleware toolkit","\u002Fbuild-on-top\u002Fsources\u002Fmiddleware-toolkit","5.build-on-top\u002Fsources\u002F3.middleware-toolkit","i-lucide-wrench",{"title":447,"path":448,"stem":449,"children":450,"page":34},"Adapters","\u002Fadapters","6.adapters",[451,454,494,509],{"title":41,"path":452,"stem":453,"icon":44},"\u002Fadapters\u002Foverview","6.adapters\u002F01.overview",{"title":455,"path":456,"stem":457,"children":458,"page":34},"Cloud destinations","\u002Fadapters\u002Fcloud","6.adapters\u002F02.cloud",[459,464,469,474,479,484,489],{"title":460,"path":461,"stem":462,"icon":463},"Axiom","\u002Fadapters\u002Fcloud\u002Faxiom","6.adapters\u002F02.cloud\u002F01.axiom","i-custom-axiom",{"title":465,"path":466,"stem":467,"icon":468},"OTLP","\u002Fadapters\u002Fcloud\u002Fotlp","6.adapters\u002F02.cloud\u002F02.otlp","i-simple-icons-opentelemetry",{"title":470,"path":471,"stem":472,"icon":473},"PostHog","\u002Fadapters\u002Fcloud\u002Fposthog","6.adapters\u002F02.cloud\u002F03.posthog","i-simple-icons-posthog",{"title":475,"path":476,"stem":477,"icon":478},"Sentry","\u002Fadapters\u002Fcloud\u002Fsentry","6.adapters\u002F02.cloud\u002F04.sentry","i-simple-icons-sentry",{"title":480,"path":481,"stem":482,"icon":483},"Better Stack","\u002Fadapters\u002Fcloud\u002Fbetter-stack","6.adapters\u002F02.cloud\u002F05.better-stack","i-simple-icons-betterstack",{"title":485,"path":486,"stem":487,"icon":488},"Datadog","\u002Fadapters\u002Fcloud\u002Fdatadog","6.adapters\u002F02.cloud\u002F06.datadog","i-simple-icons-datadog",{"title":490,"path":491,"stem":492,"icon":493},"HyperDX","\u002Fadapters\u002Fcloud\u002Fhyperdx","6.adapters\u002F02.cloud\u002F07.hyperdx","i-custom-hyperdx",{"title":495,"path":496,"stem":497,"children":498,"page":34},"Self-hosted","\u002Fadapters\u002Fself-hosted","6.adapters\u002F03.self-hosted",[499,504],{"title":500,"path":501,"stem":502,"icon":503},"File System","\u002Fadapters\u002Fself-hosted\u002Ffs","6.adapters\u002F03.self-hosted\u002F01.fs","i-lucide-hard-drive",{"title":505,"path":506,"stem":507,"icon":508},"NuxtHub","\u002Fadapters\u002Fself-hosted\u002Fnuxthub","6.adapters\u002F03.self-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":510,"path":511,"stem":512,"children":513,"page":34},"Building blocks","\u002Fadapters\u002Fbuilding-blocks","6.adapters\u002F04.building-blocks",[514,517,522,526],{"title":326,"path":515,"stem":516,"icon":333},"\u002Fadapters\u002Fbuilding-blocks\u002Fpipeline","6.adapters\u002F04.building-blocks\u002F01.pipeline",{"title":518,"path":519,"stem":520,"icon":521},"HTTP","\u002Fadapters\u002Fbuilding-blocks\u002Fhttp","6.adapters\u002F04.building-blocks\u002F02.http","i-lucide-globe",{"title":523,"path":524,"stem":525,"icon":83},"Custom Adapters","\u002Fadapters\u002Fbuilding-blocks\u002Fcustom","6.adapters\u002F04.building-blocks\u002F03.custom",{"title":527,"path":528,"stem":529,"icon":530},"Toolkit","\u002Fadapters\u002Fbuilding-blocks\u002Ftoolkit","6.adapters\u002F04.building-blocks\u002F04.toolkit","i-lucide-blocks",{"title":532,"path":533,"stem":534,"children":535,"page":34},"Enrichers","\u002Fenrichers","7.enrichers",[536,539,543],{"title":41,"path":537,"stem":538,"icon":28},"\u002Fenrichers\u002Foverview","7.enrichers\u002F1.overview",{"title":540,"path":541,"stem":542,"icon":288},"Built-in","\u002Fenrichers\u002Fbuilt-in","7.enrichers\u002F2.built-in",{"title":544,"path":545,"stem":546,"icon":83},"Custom","\u002Fenrichers\u002Fcustom","7.enrichers\u002F3.custom",{"id":548,"title":549,"body":550,"description":2774,"extension":2775,"links":2776,"meta":2784,"navigation":2785,"path":471,"seo":2786,"stem":472,"__hash__":2787},"docs\u002F6.adapters\u002F02.cloud\u002F03.posthog.md","PostHog Adapter",{"type":551,"value":552,"toc":2744},"minimark",[553,569,614,618,621,665,668,673,704,708,727,731,1309,1312,1315,1318,1352,1356,1410,1414,1421,1502,1506,1509,1566,1570,1646,1650,1660,1692,1696,1702,1741,1769,1773,1780,1793,1797,1803,1883,1897,1905,1909,2013,2017,2020,2108,2112,2118,2144,2148,2223,2226,2353,2357,2361,2370,2373,2377,2380,2400,2404,2410,2423,2427,2430,2549,2552,2712,2716,2740],[554,555,556,562,563,568],"p",{},[557,558,470],"a",{"href":559,"rel":560},"https:\u002F\u002Fposthog.com",[561],"nofollow"," is an open-source product analytics platform. The evlog PostHog adapter sends your wide events to ",[557,564,567],{"href":565,"rel":566},"https:\u002F\u002Fposthog.com\u002Fdocs\u002Flogs",[561],"PostHog Logs"," via the standard OTLP format, giving you a dedicated log viewer with filtering, search, and tail mode using your existing PostHog API key.",[570,571,574,577,602],"prompt",{":actions":572,"description":573,"icon":473},"[\"copy\",\"cursor\",\"windsurf\"]","Add the PostHog drain adapter",[554,575,576],{},"Add the PostHog drain adapter to send evlog wide events to PostHog Logs.",[578,579,580,584,587,590,593,596,599],"ol",{},[581,582,583],"li",{},"Identify which framework I'm using and follow its evlog integration pattern",[581,585,586],{},"Install evlog if not already installed",[581,588,589],{},"Import createPostHogDrain from 'evlog\u002Fposthog'",[581,591,592],{},"Wire createPostHogDrain() into my framework's drain configuration",[581,594,595],{},"Set POSTHOG_API_KEY environment variable",[581,597,598],{},"Optionally set POSTHOG_HOST for EU or self-hosted instances",[581,600,601],{},"Test by triggering a request and checking PostHog > Logs",[554,603,604,605,609,610],{},"Adapter docs: ",[557,606,607],{"href":607,"rel":608},"https:\u002F\u002Fwww.evlog.dev\u002Fadapters\u002Fcloud\u002Fposthog",[561],"\nFramework setup: ",[557,611,612],{"href":612,"rel":613},"https:\u002F\u002Fwww.evlog.dev\u002Fframeworks",[561],[615,616,15],"h2",{"id":617},"installation",[554,619,620],{},"The PostHog adapter comes bundled with evlog:",[622,623,629],"pre",{"className":624,"code":625,"filename":626,"language":627,"meta":628,"style":628},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createPostHogDrain } from 'evlog\u002Fposthog'\n","src\u002Findex.ts","typescript","",[630,631,632],"code",{"__ignoreMap":628},[633,634,637,641,645,649,652,655,658,662],"span",{"class":635,"line":636},"line",1,[633,638,640],{"class":639},"s7zQu","import",[633,642,644],{"class":643},"sMK4o"," {",[633,646,648],{"class":647},"sTEyZ"," createPostHogDrain",[633,650,651],{"class":643}," }",[633,653,654],{"class":639}," from",[633,656,657],{"class":643}," '",[633,659,661],{"class":660},"sfazB","evlog\u002Fposthog",[633,663,664],{"class":643},"'\n",[615,666,20],{"id":667},"quick-start",[669,670,672],"h3",{"id":671},"_1-get-your-posthog-project-api-key","1. Get your PostHog project API key",[578,674,675,683,697],{},[581,676,677,678],{},"Log in to your ",[557,679,682],{"href":680,"rel":681},"https:\u002F\u002Fapp.posthog.com",[561],"PostHog dashboard",[581,684,685,686,690,691,690,694],{},"Go to ",[687,688,689],"strong",{},"Settings"," > ",[687,692,693],{},"Project",[687,695,696],{},"Project API Key",[581,698,699,700,703],{},"Copy the key (starts with ",[630,701,702],{},"phc_",")",[669,705,707],{"id":706},"_2-set-environment-variables","2. Set environment variables",[622,709,714],{"className":710,"code":711,"filename":712,"language":713,"meta":628,"style":628},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POSTHOG_API_KEY=phc_your-project-api-key\n",".env","bash",[630,715,716],{"__ignoreMap":628},[633,717,718,721,724],{"class":635,"line":636},[633,719,720],{"class":647},"POSTHOG_API_KEY",[633,722,723],{"class":643},"=",[633,725,726],{"class":660},"phc_your-project-api-key\n",[669,728,730],{"id":729},"_3-wire-the-drain-to-your-framework","3. Wire the drain to your framework",[732,733,734,848,979,1041,1095,1154,1208,1261],"code-group",{},[622,735,738],{"className":624,"code":736,"filename":737,"language":627,"meta":628,"style":628},"\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",[630,739,740,746,765,772,803,839],{"__ignoreMap":628},[633,741,742],{"class":635,"line":636},[633,743,745],{"class":744},"sHwdD","\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\n",[633,747,749,751,753,755,757,759,761,763],{"class":635,"line":748},2,[633,750,640],{"class":639},[633,752,644],{"class":643},[633,754,648],{"class":647},[633,756,651],{"class":643},[633,758,654],{"class":639},[633,760,657],{"class":643},[633,762,661],{"class":660},[633,764,664],{"class":643},[633,766,768],{"class":635,"line":767},3,[633,769,771],{"emptyLinePlaceholder":770},true,"\n",[633,773,775,778,781,785,788,790,794,796,800],{"class":635,"line":774},4,[633,776,777],{"class":639},"export",[633,779,780],{"class":639}," default",[633,782,784],{"class":783},"s2Zo4"," defineNitroPlugin",[633,786,787],{"class":647},"(",[633,789,787],{"class":643},[633,791,793],{"class":792},"sHdIc","nitroApp",[633,795,703],{"class":643},[633,797,799],{"class":798},"spNyl"," =>",[633,801,802],{"class":643}," {\n",[633,804,806,809,812,815,817,820,823,826,829,831,834,836],{"class":635,"line":805},5,[633,807,808],{"class":647},"  nitroApp",[633,810,811],{"class":643},".",[633,813,814],{"class":647},"hooks",[633,816,811],{"class":643},[633,818,819],{"class":783},"hook",[633,821,787],{"class":822},"swJcz",[633,824,825],{"class":643},"'",[633,827,828],{"class":660},"evlog:drain",[633,830,825],{"class":643},[633,832,833],{"class":643},",",[633,835,648],{"class":783},[633,837,838],{"class":822},"())\n",[633,840,842,845],{"class":635,"line":841},6,[633,843,844],{"class":643},"}",[633,846,847],{"class":647},")\n",[622,849,851],{"className":624,"code":850,"filename":216,"language":627,"meta":628,"style":628},"\u002F\u002F lib\u002Fevlog.ts\nimport { createEvlog } from 'evlog\u002Fnext'\nimport { createPostHogDrain } from 'evlog\u002Fposthog'\n\nexport const { withEvlog, useLogger, log, createError } = createEvlog({\n  service: 'my-app',\n  drain: createPostHogDrain(),\n})\n",[630,852,853,858,878,896,900,939,957,972],{"__ignoreMap":628},[633,854,855],{"class":635,"line":636},[633,856,857],{"class":744},"\u002F\u002F lib\u002Fevlog.ts\n",[633,859,860,862,864,867,869,871,873,876],{"class":635,"line":748},[633,861,640],{"class":639},[633,863,644],{"class":643},[633,865,866],{"class":647}," createEvlog",[633,868,651],{"class":643},[633,870,654],{"class":639},[633,872,657],{"class":643},[633,874,875],{"class":660},"evlog\u002Fnext",[633,877,664],{"class":643},[633,879,880,882,884,886,888,890,892,894],{"class":635,"line":767},[633,881,640],{"class":639},[633,883,644],{"class":643},[633,885,648],{"class":647},[633,887,651],{"class":643},[633,889,654],{"class":639},[633,891,657],{"class":643},[633,893,661],{"class":660},[633,895,664],{"class":643},[633,897,898],{"class":635,"line":774},[633,899,771],{"emptyLinePlaceholder":770},[633,901,902,904,907,909,912,914,917,919,922,924,927,929,932,934,936],{"class":635,"line":805},[633,903,777],{"class":639},[633,905,906],{"class":798}," const",[633,908,644],{"class":643},[633,910,911],{"class":647}," withEvlog",[633,913,833],{"class":643},[633,915,916],{"class":647}," useLogger",[633,918,833],{"class":643},[633,920,921],{"class":647}," log",[633,923,833],{"class":643},[633,925,926],{"class":647}," createError ",[633,928,844],{"class":643},[633,930,931],{"class":643}," =",[633,933,866],{"class":783},[633,935,787],{"class":647},[633,937,938],{"class":643},"{\n",[633,940,941,944,947,949,952,954],{"class":635,"line":841},[633,942,943],{"class":822},"  service",[633,945,946],{"class":643},":",[633,948,657],{"class":643},[633,950,951],{"class":660},"my-app",[633,953,825],{"class":643},[633,955,956],{"class":643},",\n",[633,958,960,963,965,967,970],{"class":635,"line":959},7,[633,961,962],{"class":822},"  drain",[633,964,946],{"class":643},[633,966,648],{"class":783},[633,968,969],{"class":647},"()",[633,971,956],{"class":643},[633,973,975,977],{"class":635,"line":974},8,[633,976,844],{"class":643},[633,978,847],{"class":647},[622,980,982],{"className":624,"code":981,"filename":246,"language":627,"meta":628,"style":628},"import { createPostHogDrain } from 'evlog\u002Fposthog'\n\napp.use(evlog({ drain: createPostHogDrain() }))\n",[630,983,984,1002,1006],{"__ignoreMap":628},[633,985,986,988,990,992,994,996,998,1000],{"class":635,"line":636},[633,987,640],{"class":639},[633,989,644],{"class":643},[633,991,648],{"class":647},[633,993,651],{"class":643},[633,995,654],{"class":639},[633,997,657],{"class":643},[633,999,661],{"class":660},[633,1001,664],{"class":643},[633,1003,1004],{"class":635,"line":748},[633,1005,771],{"emptyLinePlaceholder":770},[633,1007,1008,1011,1013,1016,1018,1021,1023,1026,1029,1031,1033,1036,1038],{"class":635,"line":767},[633,1009,1010],{"class":647},"app",[633,1012,811],{"class":643},[633,1014,1015],{"class":783},"use",[633,1017,787],{"class":647},[633,1019,1020],{"class":783},"evlog",[633,1022,787],{"class":647},[633,1024,1025],{"class":643},"{",[633,1027,1028],{"class":822}," drain",[633,1030,946],{"class":643},[633,1032,648],{"class":783},[633,1034,1035],{"class":647},"() ",[633,1037,844],{"class":643},[633,1039,1040],{"class":647},"))\n",[622,1042,1043],{"className":624,"code":981,"filename":241,"language":627,"meta":628,"style":628},[630,1044,1045,1063,1067],{"__ignoreMap":628},[633,1046,1047,1049,1051,1053,1055,1057,1059,1061],{"class":635,"line":636},[633,1048,640],{"class":639},[633,1050,644],{"class":643},[633,1052,648],{"class":647},[633,1054,651],{"class":643},[633,1056,654],{"class":639},[633,1058,657],{"class":643},[633,1060,661],{"class":660},[633,1062,664],{"class":643},[633,1064,1065],{"class":635,"line":748},[633,1066,771],{"emptyLinePlaceholder":770},[633,1068,1069,1071,1073,1075,1077,1079,1081,1083,1085,1087,1089,1091,1093],{"class":635,"line":767},[633,1070,1010],{"class":647},[633,1072,811],{"class":643},[633,1074,1015],{"class":783},[633,1076,787],{"class":647},[633,1078,1020],{"class":783},[633,1080,787],{"class":647},[633,1082,1025],{"class":643},[633,1084,1028],{"class":822},[633,1086,946],{"class":643},[633,1088,648],{"class":783},[633,1090,1035],{"class":647},[633,1092,844],{"class":643},[633,1094,1040],{"class":647},[622,1096,1098],{"className":624,"code":1097,"filename":251,"language":627,"meta":628,"style":628},"import { createPostHogDrain } from 'evlog\u002Fposthog'\n\nawait app.register(evlog, { drain: createPostHogDrain() })\n",[630,1099,1100,1118,1122],{"__ignoreMap":628},[633,1101,1102,1104,1106,1108,1110,1112,1114,1116],{"class":635,"line":636},[633,1103,640],{"class":639},[633,1105,644],{"class":643},[633,1107,648],{"class":647},[633,1109,651],{"class":643},[633,1111,654],{"class":639},[633,1113,657],{"class":643},[633,1115,661],{"class":660},[633,1117,664],{"class":643},[633,1119,1120],{"class":635,"line":748},[633,1121,771],{"emptyLinePlaceholder":770},[633,1123,1124,1127,1130,1132,1135,1138,1140,1142,1144,1146,1148,1150,1152],{"class":635,"line":767},[633,1125,1126],{"class":639},"await",[633,1128,1129],{"class":647}," app",[633,1131,811],{"class":643},[633,1133,1134],{"class":783},"register",[633,1136,1137],{"class":647},"(evlog",[633,1139,833],{"class":643},[633,1141,644],{"class":643},[633,1143,1028],{"class":822},[633,1145,946],{"class":643},[633,1147,648],{"class":783},[633,1149,1035],{"class":647},[633,1151,844],{"class":643},[633,1153,847],{"class":647},[622,1155,1156],{"className":624,"code":981,"filename":256,"language":627,"meta":628,"style":628},[630,1157,1158,1176,1180],{"__ignoreMap":628},[633,1159,1160,1162,1164,1166,1168,1170,1172,1174],{"class":635,"line":636},[633,1161,640],{"class":639},[633,1163,644],{"class":643},[633,1165,648],{"class":647},[633,1167,651],{"class":643},[633,1169,654],{"class":639},[633,1171,657],{"class":643},[633,1173,661],{"class":660},[633,1175,664],{"class":643},[633,1177,1178],{"class":635,"line":748},[633,1179,771],{"emptyLinePlaceholder":770},[633,1181,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206],{"class":635,"line":767},[633,1183,1010],{"class":647},[633,1185,811],{"class":643},[633,1187,1015],{"class":783},[633,1189,787],{"class":647},[633,1191,1020],{"class":783},[633,1193,787],{"class":647},[633,1195,1025],{"class":643},[633,1197,1028],{"class":822},[633,1199,946],{"class":643},[633,1201,648],{"class":783},[633,1203,1035],{"class":647},[633,1205,844],{"class":643},[633,1207,1040],{"class":647},[622,1209,1211],{"className":624,"code":1210,"filename":236,"language":627,"meta":628,"style":628},"import { createPostHogDrain } from 'evlog\u002Fposthog'\n\nEvlogModule.forRoot({ drain: createPostHogDrain() })\n",[630,1212,1213,1231,1235],{"__ignoreMap":628},[633,1214,1215,1217,1219,1221,1223,1225,1227,1229],{"class":635,"line":636},[633,1216,640],{"class":639},[633,1218,644],{"class":643},[633,1220,648],{"class":647},[633,1222,651],{"class":643},[633,1224,654],{"class":639},[633,1226,657],{"class":643},[633,1228,661],{"class":660},[633,1230,664],{"class":643},[633,1232,1233],{"class":635,"line":748},[633,1234,771],{"emptyLinePlaceholder":770},[633,1236,1237,1240,1242,1245,1247,1249,1251,1253,1255,1257,1259],{"class":635,"line":767},[633,1238,1239],{"class":647},"EvlogModule",[633,1241,811],{"class":643},[633,1243,1244],{"class":783},"forRoot",[633,1246,787],{"class":647},[633,1248,1025],{"class":643},[633,1250,1028],{"class":822},[633,1252,946],{"class":643},[633,1254,648],{"class":783},[633,1256,1035],{"class":647},[633,1258,844],{"class":643},[633,1260,847],{"class":647},[622,1262,1264],{"className":624,"code":1263,"filename":271,"language":627,"meta":628,"style":628},"import { createPostHogDrain } from 'evlog\u002Fposthog'\n\ninitLogger({ drain: createPostHogDrain() })\n",[630,1265,1266,1284,1288],{"__ignoreMap":628},[633,1267,1268,1270,1272,1274,1276,1278,1280,1282],{"class":635,"line":636},[633,1269,640],{"class":639},[633,1271,644],{"class":643},[633,1273,648],{"class":647},[633,1275,651],{"class":643},[633,1277,654],{"class":639},[633,1279,657],{"class":643},[633,1281,661],{"class":660},[633,1283,664],{"class":643},[633,1285,1286],{"class":635,"line":748},[633,1287,771],{"emptyLinePlaceholder":770},[633,1289,1290,1293,1295,1297,1299,1301,1303,1305,1307],{"class":635,"line":767},[633,1291,1292],{"class":783},"initLogger",[633,1294,787],{"class":647},[633,1296,1025],{"class":643},[633,1298,1028],{"class":822},[633,1300,946],{"class":643},[633,1302,648],{"class":783},[633,1304,1035],{"class":647},[633,1306,844],{"class":643},[633,1308,847],{"class":647},[554,1310,1311],{},"That's it! Your wide events will now appear in PostHog Logs with full OTLP structure including severity levels, trace context, and structured attributes.",[615,1313,170],{"id":1314},"configuration",[554,1316,1317],{},"The adapter reads configuration from multiple sources (highest priority first):",[578,1319,1320,1329,1339],{},[581,1321,1322,1325,1326],{},[687,1323,1324],{},"Overrides"," passed to ",[630,1327,1328],{},"createPostHogDrain()",[581,1330,1331,1334,1335,1338],{},[687,1332,1333],{},"Runtime config"," at ",[630,1336,1337],{},"runtimeConfig.posthog"," (Nuxt\u002FNitro only)",[581,1340,1341,1344,1345,1348,1349,703],{},[687,1342,1343],{},"Environment variables"," (",[630,1346,1347],{},"POSTHOG_*"," or ",[630,1350,1351],{},"NUXT_POSTHOG_*",[669,1353,1355],{"id":1354},"environment-variables","Environment Variables",[1357,1358,1359,1375],"table",{},[1360,1361,1362],"thead",{},[1363,1364,1365,1369,1372],"tr",{},[1366,1367,1368],"th",{},"Variable",[1366,1370,1371],{},"Nuxt alias",[1366,1373,1374],{},"Description",[1376,1377,1378,1395],"tbody",{},[1363,1379,1380,1385,1390],{},[1381,1382,1383],"td",{},[630,1384,720],{},[1381,1386,1387],{},[630,1388,1389],{},"NUXT_POSTHOG_API_KEY",[1381,1391,1392,1393,703],{},"Project API key (starts with ",[630,1394,702],{},[1363,1396,1397,1402,1407],{},[1381,1398,1399],{},[630,1400,1401],{},"POSTHOG_HOST",[1381,1403,1404],{},[630,1405,1406],{},"NUXT_POSTHOG_HOST",[1381,1408,1409],{},"PostHog host URL (for EU or self-hosted)",[669,1411,1413],{"id":1412},"runtime-config-nuxt-only","Runtime Config (Nuxt only)",[554,1415,1416,1417,1420],{},"Configure via ",[630,1418,1419],{},"nuxt.config.ts"," for type-safe configuration:",[622,1422,1424],{"className":624,"code":1423,"filename":1419,"language":627,"meta":628,"style":628},"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",[630,1425,1426,1439,1448,1457,1472,1486,1491,1496],{"__ignoreMap":628},[633,1427,1428,1430,1432,1435,1437],{"class":635,"line":636},[633,1429,777],{"class":639},[633,1431,780],{"class":639},[633,1433,1434],{"class":783}," defineNuxtConfig",[633,1436,787],{"class":647},[633,1438,938],{"class":643},[633,1440,1441,1444,1446],{"class":635,"line":748},[633,1442,1443],{"class":822},"  runtimeConfig",[633,1445,946],{"class":643},[633,1447,802],{"class":643},[633,1449,1450,1453,1455],{"class":635,"line":767},[633,1451,1452],{"class":822},"    posthog",[633,1454,946],{"class":643},[633,1456,802],{"class":643},[633,1458,1459,1462,1464,1467,1469],{"class":635,"line":774},[633,1460,1461],{"class":822},"      apiKey",[633,1463,946],{"class":643},[633,1465,1466],{"class":643}," ''",[633,1468,833],{"class":643},[633,1470,1471],{"class":744}," \u002F\u002F Set via NUXT_POSTHOG_API_KEY\n",[633,1473,1474,1477,1479,1481,1483],{"class":635,"line":805},[633,1475,1476],{"class":822},"      host",[633,1478,946],{"class":643},[633,1480,1466],{"class":643},[633,1482,833],{"class":643},[633,1484,1485],{"class":744}," \u002F\u002F Set via NUXT_POSTHOG_HOST\n",[633,1487,1488],{"class":635,"line":841},[633,1489,1490],{"class":643},"    },\n",[633,1492,1493],{"class":635,"line":959},[633,1494,1495],{"class":643},"  },\n",[633,1497,1498,1500],{"class":635,"line":974},[633,1499,844],{"class":643},[633,1501,847],{"class":647},[669,1503,1505],{"id":1504},"override-options","Override Options",[554,1507,1508],{},"Pass options directly to override any configuration:",[622,1510,1513],{"className":624,"code":1511,"filename":1512,"language":627,"meta":628,"style":628},"const drain = createPostHogDrain({\n  host: 'https:\u002F\u002Feu.i.posthog.com',\n  timeout: 10000,\n})\n","server\u002Fplugins\u002Fevlog-drain.ts",[630,1514,1515,1531,1547,1560],{"__ignoreMap":628},[633,1516,1517,1520,1523,1525,1527,1529],{"class":635,"line":636},[633,1518,1519],{"class":798},"const",[633,1521,1522],{"class":647}," drain ",[633,1524,723],{"class":643},[633,1526,648],{"class":783},[633,1528,787],{"class":647},[633,1530,938],{"class":643},[633,1532,1533,1536,1538,1540,1543,1545],{"class":635,"line":748},[633,1534,1535],{"class":822},"  host",[633,1537,946],{"class":643},[633,1539,657],{"class":643},[633,1541,1542],{"class":660},"https:\u002F\u002Feu.i.posthog.com",[633,1544,825],{"class":643},[633,1546,956],{"class":643},[633,1548,1549,1552,1554,1558],{"class":635,"line":767},[633,1550,1551],{"class":822},"  timeout",[633,1553,946],{"class":643},[633,1555,1557],{"class":1556},"sbssI"," 10000",[633,1559,956],{"class":643},[633,1561,1562,1564],{"class":635,"line":774},[633,1563,844],{"class":643},[633,1565,847],{"class":647},[669,1567,1569],{"id":1568},"full-configuration-reference","Full Configuration Reference",[1357,1571,1572,1587],{},[1360,1573,1574],{},[1363,1575,1576,1579,1582,1585],{},[1366,1577,1578],{},"Option",[1366,1580,1581],{},"Type",[1366,1583,1584],{},"Default",[1366,1586,1374],{},[1376,1588,1589,1607,1626],{},[1363,1590,1591,1596,1601,1604],{},[1381,1592,1593],{},[630,1594,1595],{},"apiKey",[1381,1597,1598],{},[630,1599,1600],{},"string",[1381,1602,1603],{},"-",[1381,1605,1606],{},"Project API key (required)",[1363,1608,1609,1614,1618,1623],{},[1381,1610,1611],{},[630,1612,1613],{},"host",[1381,1615,1616],{},[630,1617,1600],{},[1381,1619,1620],{},[630,1621,1622],{},"https:\u002F\u002Fus.i.posthog.com",[1381,1624,1625],{},"PostHog host URL",[1363,1627,1628,1633,1638,1643],{},[1381,1629,1630],{},[630,1631,1632],{},"timeout",[1381,1634,1635],{},[630,1636,1637],{},"number",[1381,1639,1640],{},[630,1641,1642],{},"5000",[1381,1644,1645],{},"Request timeout in milliseconds",[615,1647,1649],{"id":1648},"how-it-works","How It Works",[554,1651,1652,1653,1655,1656,1659],{},"Under the hood, ",[630,1654,1328],{}," wraps the OTLP adapter's ",[630,1657,1658],{},"sendBatchToOTLP()"," with PostHog-specific defaults:",[1661,1662,1663,1673,1682],"ul",{},[581,1664,1665,1668,1669,1672],{},[687,1666,1667],{},"Endpoint",": ",[630,1670,1671],{},"{host}\u002Fi\u002Fv1\u002Flogs"," (PostHog's OTLP log ingest endpoint)",[581,1674,1675,1668,1678,1681],{},[687,1676,1677],{},"Auth",[630,1679,1680],{},"Authorization: Bearer {apiKey}"," header",[581,1683,1684,1687,1688,1691],{},[687,1685,1686],{},"Format",": Standard OTLP ",[630,1689,1690],{},"ExportLogsServiceRequest"," with severity levels, trace context, and structured attributes",[615,1693,1695],{"id":1694},"regions","Regions",[554,1697,1698,1699,1701],{},"PostHog offers US and EU cloud hosting. Set the ",[630,1700,1613],{}," to match your region:",[1357,1703,1704,1714],{},[1360,1705,1706],{},[1363,1707,1708,1711],{},[1366,1709,1710],{},"Region",[1366,1712,1713],{},"Host",[1376,1715,1716,1725,1734],{},[1363,1717,1718,1721],{},[1381,1719,1720],{},"US (default)",[1381,1722,1723],{},[630,1724,1622],{},[1363,1726,1727,1730],{},[1381,1728,1729],{},"EU",[1381,1731,1732],{},[630,1733,1542],{},[1363,1735,1736,1738],{},[1381,1737,495],{},[1381,1739,1740],{},"Your instance URL",[622,1742,1744],{"className":710,"code":1743,"filename":712,"language":713,"meta":628,"style":628},"# EU region\nPOSTHOG_API_KEY=phc_xxx\nPOSTHOG_HOST=https:\u002F\u002Feu.i.posthog.com\n",[630,1745,1746,1751,1760],{"__ignoreMap":628},[633,1747,1748],{"class":635,"line":636},[633,1749,1750],{"class":744},"# EU region\n",[633,1752,1753,1755,1757],{"class":635,"line":748},[633,1754,720],{"class":647},[633,1756,723],{"class":643},[633,1758,1759],{"class":660},"phc_xxx\n",[633,1761,1762,1764,1766],{"class":635,"line":767},[633,1763,1401],{"class":647},[633,1765,723],{"class":643},[633,1767,1768],{"class":660},"https:\u002F\u002Feu.i.posthog.com\n",[615,1770,1772],{"id":1771},"querying-logs-in-posthog","Querying Logs in PostHog",[554,1774,1775,1776,1779],{},"Once your logs are flowing, use the ",[687,1777,1778],{},"Logs"," tab in PostHog to query them:",[578,1781,1782,1787,1790],{},[581,1783,685,1784,1786],{},[687,1785,1778],{}," and filter by service, severity, or any structured attribute",[581,1788,1789],{},"Use the search bar to find specific log entries",[581,1791,1792],{},"Click on a log entry to see all structured attributes",[615,1794,1796],{"id":1795},"posthog-events-custom-events","PostHog Events (Custom Events)",[554,1798,1799,1800,946],{},"If you prefer sending logs as PostHog custom events (e.g., for product analytics, cohorts, or funnels), use ",[630,1801,1802],{},"createPostHogEventsDrain()",[622,1804,1806],{"className":624,"code":1805,"filename":1512,"language":627,"meta":628,"style":628},"import { createPostHogEventsDrain } from 'evlog\u002Fposthog'\n\nconst drain = createPostHogEventsDrain({\n  eventName: 'server_request',\n  distinctId: 'my-backend-service',\n})\n",[630,1807,1808,1827,1831,1845,1861,1877],{"__ignoreMap":628},[633,1809,1810,1812,1814,1817,1819,1821,1823,1825],{"class":635,"line":636},[633,1811,640],{"class":639},[633,1813,644],{"class":643},[633,1815,1816],{"class":647}," createPostHogEventsDrain",[633,1818,651],{"class":643},[633,1820,654],{"class":639},[633,1822,657],{"class":643},[633,1824,661],{"class":660},[633,1826,664],{"class":643},[633,1828,1829],{"class":635,"line":748},[633,1830,771],{"emptyLinePlaceholder":770},[633,1832,1833,1835,1837,1839,1841,1843],{"class":635,"line":767},[633,1834,1519],{"class":798},[633,1836,1522],{"class":647},[633,1838,723],{"class":643},[633,1840,1816],{"class":783},[633,1842,787],{"class":647},[633,1844,938],{"class":643},[633,1846,1847,1850,1852,1854,1857,1859],{"class":635,"line":774},[633,1848,1849],{"class":822},"  eventName",[633,1851,946],{"class":643},[633,1853,657],{"class":643},[633,1855,1856],{"class":660},"server_request",[633,1858,825],{"class":643},[633,1860,956],{"class":643},[633,1862,1863,1866,1868,1870,1873,1875],{"class":635,"line":805},[633,1864,1865],{"class":822},"  distinctId",[633,1867,946],{"class":643},[633,1869,657],{"class":643},[633,1871,1872],{"class":660},"my-backend-service",[633,1874,825],{"class":643},[633,1876,956],{"class":643},[633,1878,1879,1881],{"class":635,"line":841},[633,1880,844],{"class":643},[633,1882,847],{"class":647},[554,1884,1885,1886,1889,1890,1892,1893,1896],{},"Then pass ",[630,1887,1888],{},"drain"," to your framework the same way as ",[630,1891,1328],{}," (see ",[557,1894,20],{"href":1895},"#quick-start"," above).",[1898,1899,1901,1902,1904],"callout",{"color":1900,"icon":13},"info","Custom events count towards your PostHog event quota. PostHog Logs (the default ",[630,1903,1328],{},") is significantly cheaper.",[669,1906,1908],{"id":1907},"events-configuration","Events Configuration",[1357,1910,1911,1923],{},[1360,1912,1913],{},[1363,1914,1915,1917,1919,1921],{},[1366,1916,1578],{},[1366,1918,1581],{},[1366,1920,1584],{},[1366,1922,1374],{},[1376,1924,1925,1939,1955,1974,1997],{},[1363,1926,1927,1931,1935,1937],{},[1381,1928,1929],{},[630,1930,1595],{},[1381,1932,1933],{},[630,1934,1600],{},[1381,1936,1603],{},[1381,1938,1606],{},[1363,1940,1941,1945,1949,1953],{},[1381,1942,1943],{},[630,1944,1613],{},[1381,1946,1947],{},[630,1948,1600],{},[1381,1950,1951],{},[630,1952,1622],{},[1381,1954,1625],{},[1363,1956,1957,1962,1966,1971],{},[1381,1958,1959],{},[630,1960,1961],{},"eventName",[1381,1963,1964],{},[630,1965,1600],{},[1381,1967,1968],{},[630,1969,1970],{},"evlog_wide_event",[1381,1972,1973],{},"PostHog event name",[1363,1975,1976,1981,1985,1990],{},[1381,1977,1978],{},[630,1979,1980],{},"distinctId",[1381,1982,1983],{},[630,1984,1600],{},[1381,1986,1987],{},[630,1988,1989],{},"event.service",[1381,1991,1992,1993,1996],{},"Override ",[630,1994,1995],{},"distinct_id"," for all events",[1363,1998,1999,2003,2007,2011],{},[1381,2000,2001],{},[630,2002,1632],{},[1381,2004,2005],{},[630,2006,1637],{},[1381,2008,2009],{},[630,2010,1642],{},[1381,2012,1645],{},[669,2014,2016],{"id":2015},"event-format","Event Format",[554,2018,2019],{},"evlog maps wide events to PostHog events:",[1357,2021,2022,2032],{},[1360,2023,2024],{},[1363,2025,2026,2029],{},[1366,2027,2028],{},"evlog Field",[1366,2030,2031],{},"PostHog Field",[1376,2033,2034,2052,2063,2075,2086,2098],{},[1363,2035,2036,2047],{},[1381,2037,2038,1348,2041,1348,2044],{},[630,2039,2040],{},"config.distinctId",[630,2042,2043],{},"userId",[630,2045,2046],{},"service",[1381,2048,2049,2051],{},[630,2050,1995],{}," (fallback chain)",[1363,2053,2054,2059],{},[1381,2055,2056],{},[630,2057,2058],{},"timestamp",[1381,2060,2061],{},[630,2062,2058],{},[1363,2064,2065,2070],{},[1381,2066,2067],{},[630,2068,2069],{},"level",[1381,2071,2072],{},[630,2073,2074],{},"properties.level",[1363,2076,2077,2081],{},[1381,2078,2079],{},[630,2080,2046],{},[1381,2082,2083],{},[630,2084,2085],{},"properties.service",[1363,2087,2088,2093],{},[1381,2089,2090],{},[630,2091,2092],{},"environment",[1381,2094,2095],{},[630,2096,2097],{},"properties.environment",[1363,2099,2100,2103],{},[1381,2101,2102],{},"All other fields",[1381,2104,2105],{},[630,2106,2107],{},"properties.*",[669,2109,2111],{"id":2110},"distinct-id-resolution","Distinct ID Resolution",[554,2113,2114,2115,2117],{},"The ",[630,2116,1995],{}," follows a fallback chain:",[578,2119,2120,2129,2137],{},[581,2121,2122,2126,2127],{},[687,2123,2124],{},[630,2125,2040],{}," - explicit override in ",[630,2128,1802],{},[581,2130,2131,2136],{},[687,2132,2133],{},[630,2134,2135],{},"event.userId"," - automatically picked up if present as a string",[581,2138,2139,2143],{},[687,2140,2141],{},[630,2142,1989],{}," - final fallback",[669,2145,2147],{"id":2146},"logs-vs-events","Logs vs Events",[1357,2149,2150,2164],{},[1360,2151,2152],{},[1363,2153,2154,2156,2160],{},[1366,2155],{},[1366,2157,2158],{},[630,2159,1328],{},[1366,2161,2162],{},[630,2163,1802],{},[1376,2165,2166,2184,2197,2210],{},[1363,2167,2168,2172,2178],{},[1381,2169,2170],{},[687,2171,1686],{},[1381,2173,2174,2175,703],{},"OTLP Logs (",[630,2176,2177],{},"\u002Fi\u002Fv1\u002Flogs",[1381,2179,2180,2181,703],{},"PostHog Events (",[630,2182,2183],{},"\u002Fbatch\u002F",[1363,2185,2186,2191,2194],{},[1381,2187,2188],{},[687,2189,2190],{},"PostHog UI",[1381,2192,2193],{},"Logs viewer",[1381,2195,2196],{},"Events explorer",[1363,2198,2199,2204,2207],{},[1381,2200,2201],{},[687,2202,2203],{},"Cost",[1381,2205,2206],{},"Lower (dedicated logs pipeline)",[1381,2208,2209],{},"Higher (counts as events)",[1363,2211,2212,2217,2220],{},[1381,2213,2214],{},[687,2215,2216],{},"Best for",[1381,2218,2219],{},"Debugging, log search, observability",[1381,2221,2222],{},"Product analytics, cohorts, funnels",[554,2224,2225],{},"You can use both drains simultaneously to get the best of both worlds:",[622,2227,2229],{"className":624,"code":2228,"filename":1512,"language":627,"meta":628,"style":628},"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",[630,2230,2231,2253,2257,2271,2284,2288,2310,2348],{"__ignoreMap":628},[633,2232,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251],{"class":635,"line":636},[633,2234,640],{"class":639},[633,2236,644],{"class":643},[633,2238,648],{"class":647},[633,2240,833],{"class":643},[633,2242,1816],{"class":647},[633,2244,651],{"class":643},[633,2246,654],{"class":639},[633,2248,657],{"class":643},[633,2250,661],{"class":660},[633,2252,664],{"class":643},[633,2254,2255],{"class":635,"line":748},[633,2256,771],{"emptyLinePlaceholder":770},[633,2258,2259,2261,2264,2266,2268],{"class":635,"line":767},[633,2260,1519],{"class":798},[633,2262,2263],{"class":647}," logs ",[633,2265,723],{"class":643},[633,2267,648],{"class":783},[633,2269,2270],{"class":647},"()\n",[633,2272,2273,2275,2278,2280,2282],{"class":635,"line":774},[633,2274,1519],{"class":798},[633,2276,2277],{"class":647}," events ",[633,2279,723],{"class":643},[633,2281,1816],{"class":783},[633,2283,2270],{"class":647},[633,2285,2286],{"class":635,"line":805},[633,2287,771],{"emptyLinePlaceholder":770},[633,2289,2290,2292,2294,2296,2299,2301,2304,2306,2308],{"class":635,"line":841},[633,2291,1519],{"class":798},[633,2293,1522],{"class":647},[633,2295,723],{"class":643},[633,2297,2298],{"class":798}," async",[633,2300,1344],{"class":643},[633,2302,2303],{"class":792},"ctx",[633,2305,703],{"class":643},[633,2307,799],{"class":798},[633,2309,802],{"class":643},[633,2311,2312,2315,2319,2321,2324,2327,2330,2332,2334,2336,2338,2341,2343,2345],{"class":635,"line":959},[633,2313,2314],{"class":639},"  await",[633,2316,2318],{"class":2317},"sBMFI"," Promise",[633,2320,811],{"class":643},[633,2322,2323],{"class":783},"allSettled",[633,2325,2326],{"class":822},"([",[633,2328,2329],{"class":783},"logs",[633,2331,787],{"class":822},[633,2333,2303],{"class":647},[633,2335,703],{"class":822},[633,2337,833],{"class":643},[633,2339,2340],{"class":783}," events",[633,2342,787],{"class":822},[633,2344,2303],{"class":647},[633,2346,2347],{"class":822},")])\n",[633,2349,2350],{"class":635,"line":974},[633,2351,2352],{"class":643},"}\n",[615,2354,2356],{"id":2355},"troubleshooting","Troubleshooting",[669,2358,2360],{"id":2359},"missing-apikey-error","Missing apiKey error",[622,2362,2368],{"className":2363,"code":2365,"filename":2366,"language":2367,"meta":628},[2364],"language-text","[evlog\u002Fposthog] Missing apiKey. Set POSTHOG_API_KEY env var or pass to createPostHogDrain()\n","Console","text",[630,2369,2365],{"__ignoreMap":628},[554,2371,2372],{},"Make sure your environment variable is set and the server was restarted after adding it.",[669,2374,2376],{"id":2375},"events-not-appearing","Events not appearing",[554,2378,2379],{},"PostHog processes events asynchronously. There may be a short delay (typically under 1 minute) before events appear in the dashboard.",[578,2381,2382,2389,2394],{},[581,2383,2384,2385,2388],{},"Check the server console for ",[630,2386,2387],{},"[evlog\u002Fposthog]"," error messages",[581,2390,2391,2392],{},"Verify your API key is correct and starts with ",[630,2393,702],{},[581,2395,2396,2397,2399],{},"Confirm your ",[630,2398,1613],{}," matches your PostHog region (US vs EU)",[669,2401,2403],{"id":2402},"wrong-region","Wrong region",[554,2405,2406,2407,2409],{},"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 ",[630,2408,2387],{},") to your server console. Set the correct host:",[622,2411,2413],{"className":710,"code":2412,"filename":712,"language":713,"meta":628,"style":628},"POSTHOG_HOST=https:\u002F\u002Feu.i.posthog.com\n",[630,2414,2415],{"__ignoreMap":628},[633,2416,2417,2419,2421],{"class":635,"line":636},[633,2418,1401],{"class":647},[633,2420,723],{"class":643},[633,2422,1768],{"class":660},[615,2424,2426],{"id":2425},"direct-api-usage","Direct API Usage",[554,2428,2429],{},"For advanced use cases, you can use the lower-level functions:",[622,2431,2434],{"className":624,"code":2432,"filename":2433,"language":627,"meta":628,"style":628},"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",[630,2435,2436,2460,2464,2469,2482,2498,2504,2508,2513,2527,2542],{"__ignoreMap":628},[633,2437,2438,2440,2442,2445,2447,2450,2452,2454,2456,2458],{"class":635,"line":636},[633,2439,640],{"class":639},[633,2441,644],{"class":643},[633,2443,2444],{"class":647}," sendToPostHog",[633,2446,833],{"class":643},[633,2448,2449],{"class":647}," sendBatchToPostHog",[633,2451,651],{"class":643},[633,2453,654],{"class":639},[633,2455,657],{"class":643},[633,2457,661],{"class":660},[633,2459,664],{"class":643},[633,2461,2462],{"class":635,"line":748},[633,2463,771],{"emptyLinePlaceholder":770},[633,2465,2466],{"class":635,"line":767},[633,2467,2468],{"class":744},"\u002F\u002F Send a single event to PostHog Logs (OTLP)\n",[633,2470,2471,2473,2475,2478,2480],{"class":635,"line":774},[633,2472,1126],{"class":639},[633,2474,2444],{"class":783},[633,2476,2477],{"class":647},"(event",[633,2479,833],{"class":643},[633,2481,802],{"class":643},[633,2483,2484,2487,2489,2491,2494,2496],{"class":635,"line":805},[633,2485,2486],{"class":822},"  apiKey",[633,2488,946],{"class":643},[633,2490,657],{"class":643},[633,2492,2493],{"class":660},"phc_xxx",[633,2495,825],{"class":643},[633,2497,956],{"class":643},[633,2499,2500,2502],{"class":635,"line":841},[633,2501,844],{"class":643},[633,2503,847],{"class":647},[633,2505,2506],{"class":635,"line":959},[633,2507,771],{"emptyLinePlaceholder":770},[633,2509,2510],{"class":635,"line":974},[633,2511,2512],{"class":744},"\u002F\u002F Send multiple events in one request\n",[633,2514,2516,2518,2520,2523,2525],{"class":635,"line":2515},9,[633,2517,1126],{"class":639},[633,2519,2449],{"class":783},[633,2521,2522],{"class":647},"(events",[633,2524,833],{"class":643},[633,2526,802],{"class":643},[633,2528,2530,2532,2534,2536,2538,2540],{"class":635,"line":2529},10,[633,2531,2486],{"class":822},[633,2533,946],{"class":643},[633,2535,657],{"class":643},[633,2537,2493],{"class":660},[633,2539,825],{"class":643},[633,2541,956],{"class":643},[633,2543,2545,2547],{"class":635,"line":2544},11,[633,2546,844],{"class":643},[633,2548,847],{"class":647},[554,2550,2551],{},"For custom events, use the events-specific functions:",[622,2553,2555],{"className":624,"code":2554,"filename":2433,"language":627,"meta":628,"style":628},"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",[630,2556,2557,2586,2590,2595,2607,2621,2627,2631,2636,2648,2662,2668,2673,2679],{"__ignoreMap":628},[633,2558,2559,2561,2563,2566,2568,2571,2573,2576,2578,2580,2582,2584],{"class":635,"line":636},[633,2560,640],{"class":639},[633,2562,644],{"class":643},[633,2564,2565],{"class":647}," sendToPostHogEvents",[633,2567,833],{"class":643},[633,2569,2570],{"class":647}," sendBatchToPostHogEvents",[633,2572,833],{"class":643},[633,2574,2575],{"class":647}," toPostHogEvent",[633,2577,651],{"class":643},[633,2579,654],{"class":639},[633,2581,657],{"class":643},[633,2583,661],{"class":660},[633,2585,664],{"class":643},[633,2587,2588],{"class":635,"line":748},[633,2589,771],{"emptyLinePlaceholder":770},[633,2591,2592],{"class":635,"line":767},[633,2593,2594],{"class":744},"\u002F\u002F Send a single custom event\n",[633,2596,2597,2599,2601,2603,2605],{"class":635,"line":774},[633,2598,1126],{"class":639},[633,2600,2565],{"class":783},[633,2602,2477],{"class":647},[633,2604,833],{"class":643},[633,2606,802],{"class":643},[633,2608,2609,2611,2613,2615,2617,2619],{"class":635,"line":805},[633,2610,2486],{"class":822},[633,2612,946],{"class":643},[633,2614,657],{"class":643},[633,2616,2493],{"class":660},[633,2618,825],{"class":643},[633,2620,956],{"class":643},[633,2622,2623,2625],{"class":635,"line":841},[633,2624,844],{"class":643},[633,2626,847],{"class":647},[633,2628,2629],{"class":635,"line":959},[633,2630,771],{"emptyLinePlaceholder":770},[633,2632,2633],{"class":635,"line":974},[633,2634,2635],{"class":744},"\u002F\u002F Send multiple custom events in one request\n",[633,2637,2638,2640,2642,2644,2646],{"class":635,"line":2515},[633,2639,1126],{"class":639},[633,2641,2570],{"class":783},[633,2643,2522],{"class":647},[633,2645,833],{"class":643},[633,2647,802],{"class":643},[633,2649,2650,2652,2654,2656,2658,2660],{"class":635,"line":2529},[633,2651,2486],{"class":822},[633,2653,946],{"class":643},[633,2655,657],{"class":643},[633,2657,2493],{"class":660},[633,2659,825],{"class":643},[633,2661,956],{"class":643},[633,2663,2664,2666],{"class":635,"line":2544},[633,2665,844],{"class":643},[633,2667,847],{"class":647},[633,2669,2671],{"class":635,"line":2670},12,[633,2672,771],{"emptyLinePlaceholder":770},[633,2674,2676],{"class":635,"line":2675},13,[633,2677,2678],{"class":744},"\u002F\u002F Convert event to PostHog format (for inspection)\n",[633,2680,2682,2684,2687,2689,2691,2693,2695,2697,2700,2702,2704,2706,2708,2710],{"class":635,"line":2681},14,[633,2683,1519],{"class":798},[633,2685,2686],{"class":647}," posthogEvent ",[633,2688,723],{"class":643},[633,2690,2575],{"class":783},[633,2692,2477],{"class":647},[633,2694,833],{"class":643},[633,2696,644],{"class":643},[633,2698,2699],{"class":822}," apiKey",[633,2701,946],{"class":643},[633,2703,657],{"class":643},[633,2705,2493],{"class":660},[633,2707,825],{"class":643},[633,2709,651],{"class":643},[633,2711,847],{"class":647},[615,2713,2715],{"id":2714},"next-steps","Next Steps",[1661,2717,2718,2724,2730,2735],{},[581,2719,2720,2723],{},[557,2721,2722],{"href":461},"Axiom Adapter"," - Send logs to Axiom",[581,2725,2726,2729],{},[557,2727,2728],{"href":466},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[581,2731,2732,2734],{},[557,2733,523],{"href":524}," - Build your own adapter",[581,2736,2737,2739],{},[557,2738,185],{"href":186}," - Security and production tips",[2741,2742,2743],"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":628,"searchDepth":748,"depth":748,"links":2745},[2746,2747,2752,2758,2759,2760,2761,2767,2772,2773],{"id":617,"depth":748,"text":15},{"id":667,"depth":748,"text":20,"children":2748},[2749,2750,2751],{"id":671,"depth":767,"text":672},{"id":706,"depth":767,"text":707},{"id":729,"depth":767,"text":730},{"id":1314,"depth":748,"text":170,"children":2753},[2754,2755,2756,2757],{"id":1354,"depth":767,"text":1355},{"id":1412,"depth":767,"text":1413},{"id":1504,"depth":767,"text":1505},{"id":1568,"depth":767,"text":1569},{"id":1648,"depth":748,"text":1649},{"id":1694,"depth":748,"text":1695},{"id":1771,"depth":748,"text":1772},{"id":1795,"depth":748,"text":1796,"children":2762},[2763,2764,2765,2766],{"id":1907,"depth":767,"text":1908},{"id":2015,"depth":767,"text":2016},{"id":2110,"depth":767,"text":2111},{"id":2146,"depth":767,"text":2147},{"id":2355,"depth":748,"text":2356,"children":2768},[2769,2770,2771],{"id":2359,"depth":767,"text":2360},{"id":2375,"depth":767,"text":2376},{"id":2402,"depth":767,"text":2403},{"id":2425,"depth":748,"text":2426},{"id":2714,"depth":748,"text":2715},"Send wide events to PostHog Logs via OTLP for structured log querying, debugging, and observability in your PostHog dashboard.","md",[2777,2783],{"label":2778,"icon":2779,"to":680,"target":2780,"color":2781,"variant":2782},"PostHog Dashboard","i-lucide-external-link","_blank","neutral","subtle",{"label":2722,"icon":463,"to":461,"color":2781,"variant":2782},{},{"title":470,"icon":473},{"title":549,"description":2774},"fYVVjcq01ssaJ-u5ilVjdm6h_4SkWKFcC3Nqx6cL0sE",[2789,2791],{"title":465,"path":466,"stem":467,"description":2790,"icon":468,"children":-1},"Send logs via OpenTelemetry Protocol (OTLP) to Grafana, Datadog, Honeycomb, and any compatible backend. Supports gRPC and HTTP transports.",{"title":475,"path":476,"stem":477,"description":2792,"icon":478,"children":-1},"Send structured logs to Sentry Logs for high-cardinality querying and debugging. Zero-config setup with environment variables.",1778338244221]