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