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