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