PostHog Transport Browser Server
posthog-js is PostHog's official JavaScript logging SDK.
Installation
Install the required packages:
sh
npm i loglayer @loglayer/transport-posthog posthog-js serialize-errorsh
pnpm add loglayer @loglayer/transport-posthog posthog-js serialize-errorsh
yarn add loglayer @loglayer/transport-posthog posthog-js serialize-errorCross-Engine Compatibility
The posthog-js SDK works in both Node.js and browser environments. It may also work in Deno and Bun, but this has not been tested.
Setup
typescript
import { posthog } from 'posthog-js'
import { serializeError } from 'serialize-error'
import { LogLayer } from 'loglayer'
import { PosthogTransport } from "@loglayer/transport-posthog"
// Initialize PostHog with logs configuration
posthog.init('<ph_project_token>', {
api_host: 'https://us.i.posthog.com',
defaults: '2026-01-30',
logs: {
serviceName: 'my-app',
environment: 'production',
},
})
const log = new LogLayer({
transport: new PosthogTransport({
logger: posthog,
}),
errorSerializer: serializeError,
})
log.info('hello from LogLayer')
log.withMetadata({ order_id: 'ord_123' }).info('checkout completed')Configuration Options
Required Parameters
| Name | Type | Description |
|---|---|---|
logger | PostHog | The initialized PostHog client instance |
Optional Parameters
| Name | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Whether the transport is enabled |
level | "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "trace" | Minimum log level to process. Logs below this level will be filtered out |
Log Level Mapping
| LogLayer | PostHog |
|---|---|
| trace | trace |
| debug | debug |
| info | info |
| warn | warn |
| error | error |
| fatal | fatal |
Changelog
View the changelog here.
