Blyp Docs

PostHog

Blyp's PostHog connector covers two related flows on server runtimes:

Config

Configure PostHog under connectors.posthog:

export default {
  connectors: {
    posthog: {
      enabled: true,
      mode: "auto",
      projectKey: process.env.POSTHOG_PROJECT_KEY,
      host: "https://us.i.posthog.com",
      serviceName: "api",
      errorTracking: {
        enabled: true,
        mode: "auto",
        enableExceptionAutocapture: true,
      },
    },
  },
};

Config fields

Automatic server forwarding

When mode: "auto" is enabled, normal Blyp server loggers forward into PostHog automatically.

When errorTracking.mode: "auto" is enabled, Blyp handled server errors can also be captured into PostHog Error Tracking.

In auto mode, Blyp forwards each log line to PostHog with the log level, message, and structured fields preserved for querying and filtering.

Manual APIs

Use @blyp/core/posthog when you want explicit control:

import {
  capturePosthogException,
  createPosthogErrorTracker,
  createPosthogLogger,
  createStructuredPosthogLogger,
} from "@blyp/core/posthog";

createPosthogLogger().info("manual posthog log");

createPosthogErrorTracker().capture(new Error("manual posthog exception"));

capturePosthogException(new Error("wrapped posthog exception"), {
  distinctId: "usr_123",
  properties: {
    feature: "checkout",
  },
});

const structured = createStructuredPosthogLogger("checkout", {
  orderId: "ord_123",
});

structured.info("manual start");
structured.emit({ status: 200 });

Browser and Expo forwarding

Browser and Expo do not use posthog-node directly. They request forwarding through Blyp ingestion:

const logger = createClientLogger({
  endpoint: "/inngest",
  connector: "posthog",
});
const logger = createExpoLogger({
  endpoint: "https://api.example.com/inngest",
  connector: "posthog",
});

Client error and critical logs requested through the PostHog connector are promoted into PostHog exceptions only when server-side PostHog error tracking is enabled in auto mode.

Notes